Backup e ripristino dei database MySQL per Windows

Data di creazione della pagina :

Ambiente di conferma dell'operazione

MySQL
  • MySQL 8.0 Edizione comunitaria
Finestre
  • finestre 11

Ambiente richiesto

MySQL
  • MySQL 8.0
Finestre
  • finestre 11
  • finestre 10
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

precondizione

  • Il database MySQL deve essere installato
  • Il database di cui eseguire il backup esiste già
  • Configura le variabili d'ambiente e consenti di eseguire MySQL dal prompt dei comandi

Informazioni sui tipi di backup

Non entrerò nei dettagli qui, ma MySQL ha i seguenti tipi di backup:

Comando di backup Tipo di dati di backup Note
mysqldump Backup logico Un vecchio metodo di backup. Anche l'interfaccia grafica utilizza questo
mysqlpump Backup logico Versione migliorata di mysqldump
Utilità di dump dell'istanza della shell MySQL e utilità di caricamento dei dump Backup logico Come backup logico, è l'ultimo al momento
Percona XtraBackup Backup fisico Prodotti di terze parti che consentono il backup fisico
PLUG-IN CLONE Backup fisico Backup fisico ufficiale di MySQL. Tuttavia, sono necessari plug-in aggiuntivi

Backup di un database con una GUI (MySQL Workbench)

Se si desidera operare in modo sicuro nella GUI senza utilizzare comandi, è possibile eseguire un backup in MySQL Workbench. Il tipo di backup eseguito in MySQL Workbench è "mysqldump".

Avvia MySQL Workbench.

Selezionare la connessione con il database di cui si desidera eseguire il backup.

Con il database di cui eseguire il backup, selezionare la scheda Amministrazione da Navigatore a sinistra e selezionare Esportazione dati.

Viene visualizzata la schermata Esportazione dati. Lo schermo è abbastanza grande, quindi espandi la finestra fino a visualizzare il pulsante "Avvia esportazione" nell'angolo in basso a destra.

Innanzitutto, seleziona il database di cui desideri eseguire il backup. Puoi anche selezionarne più di uno.

In "Oggetti da esportare" è possibile scegliere se eseguire il backup anche di procedure, trigger, ecc. Questo elemento è facoltativo.

In "Opzioni di esportazione", puoi scegliere tra le seguenti due opzioni:

Descrizione delle tipologie
Esporta nella cartella del progetto di dump Output come tabella o file procedura per procedura in una determinata cartella.
Esportazione in file autonomo Incorpora tutto in un unico file e producilo.

Non importa quale produci. Se scegli sopra, è facile perché puoi rimuoverlo facilmente se vuoi ripristinare solo una tabella specifica. Le seguenti selezioni vengono restituite in un singolo file, semplificando lo spostamento e la gestione dei file come unità di database. Questa volta ho selezionato quanto segue.

Una volta configurato, fai clic sul pulsante Avvia esportazione in basso a destra per avviare l'esportazione.

L'esportazione inizia e viene completata.

Se si esegue l'output in un singolo file, sarà simile a questo:

Se esporti in una cartella, sarà simile a questa:

Ripristino di un database con una GUI (MySQL Workbench)

Apri MySQL Workbench, seleziona le connessioni, seleziona la scheda Amministrazione da Navigator a sinistra e seleziona Importazione/Ripristino dati. Come dice "Importa/Ripristina", è possibile creare un nuovo database dal file esportato o sovrascrivere il database originale.

Espandi la finestra fino a visualizzare il pulsante "Avvia importazione" nell'angolo in basso a destra.

Seleziona "Opzioni di importazione" in base al formato del file esportato. Poiché questa volta l'ho esportato come un singolo file, ho selezionato "Importa da file autonomo" di seguito e ho specificato il file esportato.

Selezionare lo schema (database) da ripristinare. È possibile ripristinare un database esistente oppure ripristinarlo come nuovo database dal pulsante "nuovo" a destra.

Dopo aver specificato, fare clic sul pulsante "Avvia importazione" nell'angolo in basso a destra per avviare il ripristino.

Assicurati che i dati siano tornati al termine del ripristino.

Creare un account per il backup del database tramite comando

Non ci sono problemi se si desidera eseguire un comando per eseguire il backup una sola volta, ma ad esempio, se si prepara un comando come file in anticipo e lo si esegue, è necessario scrivere la password in testo normale, quindi è più sicuro creare un account separato per l'esecuzione del backup.

Le autorizzazioni necessarie per il backup sono le seguenti, ma possono aumentare o diminuire a seconda delle informazioni richieste.

  • EVENTO
  • BLOCCA LE TABELLE
  • SELEZIONARE
  • MOSTRA VISTA

Se lo crei con un comando, sarà simile a questo: Eseguilo con lo strumento da riga di comando MySQL.

create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;

esempio

create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;

Autorizzazioni cartella per la destinazione di backup

Le autorizzazioni per la cartella in cui è archiviato il file di backup devono essere impostate sulla stessa autorizzazione dell'autorizzazione per l'esecuzione del comando. Se si desidera eseguire comandi con l'autorizzazione Administrators, non è necessario impostare autorizzazioni aggiuntive per la cartella.

Backup di un database con il comando (mysqldump)

Ci sono diversi backup dei comandi, ma questa volta eseguirò il backup con il vecchio e stabile "mysqldump".

Fare clic con il pulsante destro del mouse sul menu Start e avviare Terminale (prompt dei comandi). Si prega di notare che non si tratta di un "client a riga di comando MySQL 8.0".

È possibile eseguirne il backup con il seguente comando:

mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"

esempio

mysqldump -u backup_user -ppassword --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 test_database > "C:\Temporary\Backup.sql"

  • --default-character-set=utf8 sarà lo stesso codice carattere di quando è stato eseguito il backup nella GUI. Ciò consente di importarli anche nella GUI.
  • Non inserire spazi tra il campo -p della password e la password.
  • Se si desidera visualizzare anche le informazioni relative alla tablespace, --no-tablespaces deselezionare . In tal caso, sono necessarie le autorizzazioni dell'utente di PROCESS esecuzione.

Verrà creato un file di backup nella posizione specificata.

Ripristino di un database con il comando (mysqldump)

I file di cui è stato eseguito il backup con mysqldump sono in un formato che può essere eseguito in SQL, quindi è sufficiente eseguire l'SQL di destinazione. Penso che il ripristino venga spesso eseguito manualmente, quindi va bene eseguirlo sull'account root.

Se si desidera eseguirlo da un comando, eseguirlo al prompt dei comandi anziché in PowerShell. Ciò è dovuto al fatto che < PowerShell non consente i simboli.

Eseguire il comando seguente:

mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>

esempio

mysql -u root -ppassword test_database < C:\Temporary\Backup.sql

Backup automatico del database

Per Windows, è comune utilizzare un'utilità di pianificazione. Inizia creando un file batch. Crea un file bat, inserisci il contenuto così come è stato eseguito il backup con i comandi e salvali. Salva i codici dei caratteri con Shift-JIS. La posizione e il nome del file batch possono essere arbitrari.

Registrarsi con l'utilità di pianificazione. Fare clic con il pulsante destro del mouse sul menu Start e selezionare "Gestisci computer".

Dal menu a sinistra, selezionare Gestione computer > Utilità di sistema > Utilità di pianificazione > Libreria Utilità di pianificazione. Seleziona Crea attività dal menu a destra.

Impostare la scheda Generale. Il "nome" verrà visualizzato nell'elenco delle attività, quindi inserisci un nome facile da capire. Nelle opzioni di sicurezza, seleziona "Esegui indipendentemente dal fatto che l'utente abbia effettuato l'accesso o meno".

La scheda Trigger consente di impostare quando deve essere eseguito il backup. Questa impostazione deve essere impostata in base all'operazione.

Nella scheda Operazioni, imposta il file batch appena creato per l'avvio.

Una volta impostati ciascuno di essi, confermali con il pulsante OK.

Inserisci la tua password per registrarti per l'esecuzione sull'account specificato.

Ora controlla se il backup verrà eseguito all'ora specificata.