Backup e ripristino dei database MySQL (versione Windows)

Pagina aggiornata :
Data di creazione della pagina :

Ambiente operativo

MySQL
  • MySQL 8.0 Edizione comunitaria
Finestre
  • finestre 11

Prerequisiti

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

  • È installato un database per MySQL.
  • Il database di cui eseguire il backup esiste già.
  • Le variabili di ambiente sono state impostate in modo da poter eseguire mysql dal prompt dei comandi.

Quali sono i tipi di backup?

Anche se non discusso in dettaglio qui, MySQL ha i seguenti tipi di backup:

di
ComandibackupTipi di dati di backupNote
mysqldump Backup logici Un metodo di backup antico. La GUI utilizza anche questo
mysqlpump Backup logici Versione migliorata di mysqldump
Utilità di dump dell'istanza della shell MySQL e utilità di caricamento del dump Backup logici Il backup logico più recente al momento
Percona XtraBackup Backup fisici Supporto di terze parti per il backup fisico
PLUG-IN CLONE Backup fisici Backup fisici ufficiali di MySQL. Tuttavia, è necessario aggiungere un plug-in.

Backup dei database con la GUI (MySQL Workbench)

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

Avvia MySQL Workbench.

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

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

Viene visualizzata la schermata Esportazione dati. Lo schermo è abbastanza ampio, quindi espandi la finestra fino a vedere il pulsante "Avvia esportazione" in basso a destra.

Innanzitutto, selezionare i database di cui si desidera eseguire il backup. È anche possibile selezionarne più di uno.

In "Oggetti da esportare", è possibile scegliere di eseguire il backup anche di procedure e trigger. Questo campo è facoltativo.

In "Opzioni di esportazione" è possibile selezionare le due opzioni seguenti.

Descrizione del tipo
Esporta nella cartella del progetto di dump Output in una cartella specificata come file di tabella o di procedure.
Esporta in un file autonomo Incorpora tutto in un unico file e output.

Non importa in che modo si produce. La selezione di cui sopra è facile da rimuovere se si desidera ripristinare solo una tabella specifica. La selezione seguente restituisce l'output a un singolo file, semplificando lo spostamento e la gestione dei file come unità di database. In questo caso, ho selezionato quanto segue.

Dopo aver impostato le impostazioni, fai clic sul pulsante "Avvia esportazione" nell'angolo in basso a destra per avviare l'esportazione.

L'esportazione viene avviata e completata.

Se lo esporti come un singolo file, sarà simile a questo:

Se esporti in una cartella, l'aspetto sarà simile al seguente:

Ripristino di un database con la GUI (MySQL Workbench)

Aprire MySQL Workbench, selezionare una connessione, selezionare la scheda Amministrazione dal Navigatore a sinistra e selezionare Importazione/ripristino dati. Poiché 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.

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

Selezionare lo schema (database) in cui si desidera eseguire il ripristino. È possibile eseguire il ripristino in un database esistente o ripristinarlo come nuovo database dal pulsante "Nuovo" a destra.

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

Una volta completato il ripristino, assicurati che i tuoi dati siano tornati.

Creare un account per il backup del database tramite comando

Non ci sono problemi se si esegue un singolo comando e se ne esegue il backup, ma ad esempio, se si prepara il 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.

Alcune delle autorizzazioni necessarie per il backup possono aumentare o diminuire a seconda delle informazioni richieste.

  • EVENTO
  • TAVOLI DI BLOCCO
  • SELEZIONARE
  • MOSTRA VISTA

Se lo crei con un comando, sarà simile a questo. Utilizzare 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 della cartella per la destinazione di backup

Le autorizzazioni della cartella in cui viene salvato il file di backup devono essere impostate allo stesso modo delle autorizzazioni per l'esecuzione del comando. Se si esegue il comando con privilegi di amministratore, non è necessario impostare autorizzazioni aggiuntive per la cartella.

Eseguire il backup di un database con il comando (mysqldump)

Ci sono diversi backup tramite comando, ma questa volta eseguiremo il backup con "mysqldump", che è stato utilizzato per molto tempo ed è stabile.

Fare clic con il pulsante destro del mouse sul menu Start per avviare Terminale (prompt dei comandi). Si noti che non si tratta di "MySQL 8.0 Command Line Client".

È 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 Se si specifica lo stesso codice carattere di quando si esegue il backup nella GUI, sarà lo stesso di quando si esegue il backup nella GUI. In questo modo, puoi anche importarlo nella GUI.
  • Non includere uno spazio tra il campo della password e -p la password.
  • Se si desidera generare anche informazioni sullo spazio di tabella, --no-tablespaces rimuovere . In tal caso, le autorizzazioni dell'utente in esecuzione devono essere . PROCESS

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 da mysqldump sono in un formato che può essere eseguito in SQL, quindi tutto ciò che devi fare è eseguire l'SQL di destinazione. Penso che la maggior parte dei ripristini venga eseguita manualmente, quindi non ci sono problemi se lo esegui come account root.

Se si vuole eseguirlo da un comando, eseguirlo al prompt dei comandi anziché in PowerShell. Ciò è dovuto al fatto che il simbolo non può essere usato in < PowerShell.

Eseguire il comando seguente:

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

esempio

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

Backup automatici del database

Per Windows, è comune utilizzare l'Utilità di pianificazione. Innanzitutto, crea un file batch. Creare un file bat, immettere il contenuto di cui è stato eseguito il backup dal comando e salvarlo. La codifica dei caratteri viene salvata con Shift-JIS. La posizione e il nome del file batch sono arbitrari.

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

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

Configurare la scheda Generale. "Nome" apparirà 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".

Nella scheda "Trigger" è possibile impostare quando eseguire il backup. Impostare questa impostazione in base all'operazione.

Nella scheda "Operazione", impostalo per avviare il file batch appena creato.

Dopo averli impostati, confermare con il pulsante OK.

Immettere la password per registrarsi per l'esecuzione con l'account specificato.

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