Backup e ripristino dei database MySQL (versione Windows)
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:
diComandi | backupTipi 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.