Backup și restaurare baze de date MySQL pentru Windows
Mediu de confirmare a funcționării
- MySQL
-
- MySQL 8.0 Ediția Comunității
- Windows
-
- ferestre 11
Mediu necesar
- MySQL
-
- MySQL 8.0
- Windows
-
- ferestre 11
- Windows 10
- Windows Server
-
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
Condiție prealabilă
- Baza de date MySQL trebuie instalată
- Baza de date pentru care trebuie să se facă backup există deja
- Configurați variabilele de mediu și vă permit să rulați MySQL din promptul de comandă
Despre tipurile de backup
Nu voi intra în detalii aici, dar MySQL are următoarele tipuri de copii de rezervă:
Comanda de backup | Tip de date de rezervă | Observații |
---|---|---|
mysqldump | Backup logic | O metodă veche de backup. Interfața grafică folosește și acest lucru |
mysqlpump | Backup logic | Versiune îmbunătățită a mysqldump |
MySQL Shell Instance Dump Utility și Dump Loading Utility | Backup logic | Ca o copie de rezervă logică, este cea mai recentă în acest moment |
Percona XtraBackup | Backup fizic | Produse terțe care permit backup fizic |
CLONE PLUGIN | Backup fizic | Backup fizic oficial MySQL. Cu toate acestea, sunt necesare pluginuri suplimentare |
Copierea de rezervă a unei baze de date cu o interfață grafică (MySQL Workbench)
Dacă doriți să operați în siguranță în GUI fără a utiliza comenzi, puteți efectua o copie de rezervă în MySQL Workbench. Tipul de backup efectuat în MySQL Workbench este "mysqldump".
Lansați MySQL Workbench.
Selectați conexiunea cu baza de date pentru care doriți să faceți backup.
Cu baza de date pentru care trebuie să faceți backup, selectați fila Administrare din Navigator din stânga și selectați Export date.
Se deschide ecranul Export date. Ecranul este destul de mare, așa că extindeți fereastra până când vedeți butonul "Start Export" în colțul din dreapta jos.
Mai întâi, selectați baza de date pentru care doriți să faceți backup. De asemenea, puteți selecta mai multe.
În "Obiecte de exportat", puteți alege dacă doriți să faceți și o copie de rezervă a procedurilor, declanșatorilor etc. Acest articol este opțional.
În "Opțiuni de export", puteți alege dintre următoarele două opțiuni:
Descrierea tipurilor | |
---|---|
Exportați în folderul de proiect Dump | Ieșire ca tabel sau fișier procedură cu procedură într-un anumit folder. |
Export în fișier autonom | Încorporați totul într-un singur fișier și afișați-l. |
Nu contează pe care o scoți. Dacă alegeți mai sus, este ușor, deoarece îl puteți elimina cu ușurință dacă doriți să restaurați doar un anumit tabel. Următoarele selecții sunt afișate într-un singur fișier, facilitând mutarea și gestionarea fișierelor ca unitate de bază de date. De data aceasta am selectat următoarele.
Odată configurat, faceți clic pe butonul Începeți exportul din dreapta jos pentru a începe exportul.
Exportul începe și se termină.
Dacă ieșiți într-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 o interfață grafică (MySQL Workbench)
Deschideți MySQL Workbench, selectați conexiunile, selectați fila Administrare din Navigator din stânga și selectați Import/Restaurare date. După cum scrie "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.
Vă rugăm să selectați "Opțiuni de import" în funcție de formatul de fișier exportat. Deoarece l-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) de restaurat. Puteți restaura într-o bază de date existentă sau o puteți restaura ca bază de date nouă din butonul "nou" din dreapta.
După specificare, faceți clic pe butonul "Începeți importul" din colțul din dreapta jos pentru a începe recuperarea.
Asigurați-vă că datele sunt înapoi când restaurarea este finalizată.
Creați un cont pentru backup-ul bazei de date prin comandă
Nu există nicio problemă dacă doriți să rulați o comandă pentru a face backup o singură dată, dar, de exemplu, dacă pregătiți o comandă ca fișier în avans și o rulați, trebuie să scrieți parola în text simplu, deci este mai sigur să creați un cont separat pentru rularea backup-ului.
Permisiunile necesare pentru backup sunt următoarele, dar pot crește sau scădea în funcție de informațiile necesare.
- EVENIMENT
- TABELE DE BLOCARE
- ALEGE
- AFIȘAȚI VIZUALIZAREA
Dacă îl creați cu o comandă, va arăta astfel: Rulați-l cu 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;
Permisiuni de folder pentru destinația de backup
Permisiunile pentru folderul în care este stocat fișierul de rezervă trebuie setate la aceeași permisiune ca și permisiunea de a executa comanda. Dacă doriți să rulați comenzi cu permisiunea Administratori, nu trebuie să setați permisiuni suplimentare pentru folder.
Copierea de rezervă a unei baze de date cu comanda (mysqldump)
Există mai multe copii de rezervă ale comenzilor, dar de data aceasta voi face backup cu vechiul și stabilul "mysqldump".
Faceți clic dreapta pe meniul Start și lansați Terminal (linie de comandă). Vă rugăm să rețineți că nu este un "client de linie de comandă MySQL 8.0".
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
va avea același cod de caractere ca atunci când s-a făcut backup în interfața grafică. Acest lucru vă permite să le importați și în interfața grafică.- Nu puneți un spațiu între câmpul
-p
de parolă și parolă.- Dacă doriți să afișați și informații despre spațiul de tabel,
--no-tablespaces
debifați . În acest caz, sunt necesare permisiunilePROCESS
utilizatorului de execuție.
Un fișier de rezervă va fi creat în locația specificată.
Restaurarea unei baze de date cu comanda (mysqldump)
Fișierele pentru care s-a făcut backup cu mysqldump sunt într-un format care poate fi rulat în SQL, deci trebuie doar să rulați SQL-ul țintă. Cred că restaurarea se face adesea manual, așa că este în regulă să o rulați pe contul root.
Dacă doriți să-l rulați dintr-o comandă, rulați-l la linia de comandă în loc de PowerShell. Acest lucru se datorează <
faptului că PowerShell nu permite simboluri.
Rulați următoarea comandă:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
exemplu
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
Backup automat al bazei de date
Pentru Windows, este obișnuit să utilizați un programator de activități. Începeți prin a crea un fișier batch. Creați un fișier liliac, introduceți conținutul așa cum a fost copiat cu comenzi și salvați-l. Salvați codurile de caracter cu Shift-JIS. Locația și numele fișierului batch pot fi arbitrare.
Înregistrați-vă la planificatorul de activități. Faceți clic dreapta pe meniul Start și selectați "Gestionați computerul".
Din meniul din stânga, selectați Gestionare computer > Instrumente de sistem > Programator de activități > Bibliotecă Programator de activități. Selectați Creare activitate din meniul din dreapta.
Setați fila General. "Numele" va fi afișat în lista de sarcini, așa că puneți un nume ușor de înțeles. În opțiunile de securitate, bifați "Rulați dacă utilizatorul este conectat sau nu".
Fila Declanșatoare setează când trebuie efectuată copierea de rezervă. Această setare trebuie setată în funcție de operațiunea dvs.
În fila Operațiuni, setați fișierul batch pe care tocmai l-ați creat pentru a se lansa.
După ce le-ați setat pe fiecare dintre ele, confirmați-le cu butonul OK.
Introduceți parola pentru a vă înregistra pentru a rula pe contul specificat.
Acum verificați dacă backup-ul va rula la ora specificată.