Copierea de rezervă și restaurarea bazelor de date MySQL (versiunea Windows)

Pagina actualizată :
Data creării paginii :

Mediu de operare

MySQL
  • MySQL 8.0 Community Edition
Windows
  • Ferestre 11

Cerințe preliminare

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

Condiție prealabilă

  • Este instalată o bază de date pentru MySQL.
  • Baza de date pentru care se face backup există deja.
  • Ați setat variabile de mediu, astfel încât să puteți rula mysql din promptul de comandă.

Care sunt tipurile de copii de rezervă?

Deși nu este discutat în detaliu aici, MySQL are următoarele tipuri de copii de rezervă:

Comenzi de backupTipuri de date de backupObservații
mysqldump Copii de rezervă logice O metodă de backup veche. Interfața grafică utilizează, de asemenea, acest lucru
mysqlpump Copii de rezervă logice Versiunea îmbunătățită a mysqldump
MySQL Shell Instance Dump Utility și Dump Loading Utility Copii de rezervă logice Cea mai recentă copie de rezervă logică în acest moment
Percona XtraBackup Copii de rezervă fizice Suport terț pentru backup fizic
CLONE PLUGIN Copii de rezervă fizice Copii de rezervă fizice oficiale MySQL. Cu toate acestea, trebuie să adăugați un plug-in.

Copierea de rezervă a bazelor de date cu GUI (MySQL Workbench)

Dacă doriți să operați în siguranță în interfața grafică fără a utiliza comenzi, puteți face copii de rezervă cu MySQL Workbench. Tipul de backup efectuat de MySQL Workbench va fi "mysqldump".

Porniți MySQL Workbench.

Selectați conexiunea care conține baza de date căreia doriți să îi faceți backup.

Cu baza de date de copiat de rezervă, selectați fila Administrare din Navigator din stânga, apoi selectați Export date.

Se deschide ecranul Export date. Ecranul este destul de larg, deci extindeți fereastra până când puteți vedea butonul "Start Export" din dreapta jos.

Mai întâi, selectați bazele de date cărora doriți să le faceți backup. De asemenea, puteți selecta mai multe.

În "Obiecte de exportat", puteți alege să faceți backup procedurilor și declanșatoarelor. Acest câmp este opțional.

În "Opțiuni de export", puteți selecta următoarele două opțiuni.

Descrierea tipului
Export în folderul Dump Project Ieșire într-un folder specificat ca tabel sau fișier de procedură.
Export în fișier autonom Încorporați totul într-un singur fișier și ieșire.

Nu contează în ce direcție ieșiți. Selecția de mai sus este ușor de eliminat dacă doriți să restaurați doar un anumit tabel. Selecția de mai jos rezultă într-un singur fișier, facilitând mutarea și gestionarea fișierelor ca unitate de bază de date. În acest caz, am selectat următoarele.

După setarea setărilor, faceți clic pe butonul "Start Export" din colțul din dreapta jos pentru a începe exportul.

Exportul începe și se finalizează.

Dacă îl scoateți ca un singur fișier, acesta va arăta astfel:

Dacă exportați într-un folder, acesta va arăta astfel:

Restaurarea unei baze de date cu GUI (MySQL Workbench)

Deschideți MySQL Workbench, selectați o conexiune, selectați fila Administrare din Navigator din stânga și selectați Import/Restaurare date. După cum se spune "Import / Restaurare", puteți crea o nouă bază de date din fișierul exportat sau puteți suprascrie baza de date originală.

Extindeți fereastra până când vedeți butonul "Începeți importul" în colțul din dreapta jos.

Selectați "Opțiuni de import" în funcție de formatul de fișier exportat. Deoarece am exportat ca un singur fișier de data aceasta, am selectat "Import din fișier autonom" de mai jos și am specificat fișierul exportat.

Selectați schema (baza de date) la care doriți să restaurați. Puteți restaura la o bază de date existentă sau o puteți restaura ca bază de date nouă din butonul "Nou" din dreapta.

După specificarea specificațiilor, faceți clic pe butonul "Începeți importul" din dreapta jos pentru a începe restaurarea.

După finalizarea restaurării, asigurați-vă că datele sunt înapoi.

Creați un cont pentru copierea de rezervă a bazei de date prin comandă

Nu există nicio problemă dacă executați o singură comandă și o faceți o copie de rezervă, dar, de exemplu, dacă pregătiți comanda ca fișier în avans și o executați, trebuie să scrieți parola în text simplu, deci este mai sigur să creați un cont separat pentru executarea copiei de rezervă.

Unele dintre permisiunile necesare pentru copierea de rezervă pot crește sau scădea în funcție de informațiile necesare.

  • EVENIMENT
  • MESE DE BLOCARE
  • ALEGE
  • AFIȘARE VIZUALIZARE

Dacă îl creați cu o comandă, va arăta astfel. Utilizați instrumentul de linie de comandă MySQL.

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

exemplu

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

Permisiunile folderului pentru destinația copiei de rezervă

Permisiunile folderului în care este salvat fișierul de rezervă trebuie setate în același mod ca permisiunile pentru executarea comenzii. Dacă executați comanda cu privilegii de administrator, nu este necesar să setați permisiuni suplimentare în folder.

Copierea de rezervă a unei baze de date cu comanda (mysqldump)

Există mai multe copii de rezervă prin comandă, dar de data aceasta vom face backup cu "mysqldump", care a fost folosit de mult timp și este stabil.

Faceți clic dreapta pe meniul Start pentru a lansa Terminal (Command Prompt). Rețineți că nu este "MySQL 8.0 Command Line Client".

Puteți face backup cu următoarea comandă:

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

exemplu

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 Dacă specificați același cod de caractere ca atunci când faceți backup în GUI, acesta va fi același ca atunci când faceți backup în GUI. În acest fel, îl puteți importa și în GUI.
  • Nu includeți un spațiu între câmpul pentru parolă și -p parolă.
  • Dacă doriți, de asemenea, să afișați informații despre spațiul tabelului, --no-tablespaces eliminați . În acest caz, permisiunile utilizatorului care rulează trebuie să fie . PROCESS

Un fișier de rezervă va fi creat în locația specificată.

Restaurarea unei baze de date cu comanda (mysqldump)

Fișierele susținute de mysqldump sunt într-un format care poate fi executat în SQL, deci tot ce trebuie să faceți este să executați SQL țintă. Cred că majoritatea restaurărilor se fac manual, deci nu există nicio problemă dacă îl rulați ca cont root.

Dacă doriți să o executați dintr-o comandă, rulați-o la promptul de comandă în loc de PowerShell. Acest lucru se datorează faptului că simbolul nu poate fi utilizat în < PowerShell.

Executați următoarea comandă:

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

exemplu

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

Copii de rezervă automate ale bazelor de date

Pentru Windows, este obișnuit să utilizați Task Scheduler. Mai întâi, creați un fișier batch. Creați un fișier bat, introduceți conținutul așa cum a fost salvat de comandă și salvați-l. Codificarea caracterelor este salvată cu Shift-JIS. Locația și numele fișierului batch sunt arbitrare.

Înregistrați-vă la Task Scheduler. Faceți clic dreapta pe meniul Start și selectați Computer Management.

Din meniul din stânga, selectați Computer Management > System Tools > Task Scheduler > Task Scheduler Library. Selectați "Creați o sarcină..." din meniul din dreapta.

Configurați fila General. "Nume" va apărea în lista de sarcini, deci introduceți un nume ușor de înțeles. În opțiunile de securitate, bifați "Executare indiferent dacă utilizatorul este conectat sau nu".

În fila "Declanșator", puteți seta când să efectuați copia de rezervă. Setați această setare în funcție de operațiunea dvs.

În fila "Operație", setați-o să lanseze fișierul batch pe care tocmai l-ați creat.

După setarea fiecăruia, confirmați cu butonul OK.

Introduceți parola pentru a vă înregistra pentru a rula sub contul specificat.

După aceea, verificați dacă copia de rezervă va fi executată la ora specificată.