MySQL datu bāzu dublēšana un atjaunošana (Windows versija)
Darbības vide
- MySQL
-
- MySQL 8.0 kopienas izdevums
- Windows
-
- Operētājsistēmā Windows 11
Priekšnoteikumi
- MySQL
-
- MySQL 8.0
- Windows
-
- Operētājsistēmā Windows 11
- Operētājsistēmā Windows 10
- Windows Server
-
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
Priekšnosacījumu
- Ir instalēta MySQL datu bāze.
- Dublējamā datu bāze jau pastāv.
- Jūs esat iestatījis vides mainīgos, lai varētu palaist mysql no komandu uzvednes.
Kādi ir dublējumu veidi?
Lai gan šeit MySQL nav detalizēti apspriests, tam ir šādi dublējumu veidi:
Dublēšanas | komandasDublēšanas datu tipiPiezīmes | |
---|---|---|
Mysqldump | Loģiskās dublējumkopijas | Mūžsena dublēšanas metode. VVR izmanto arī šo |
Mysqlpump | Loģiskās dublējumkopijas | Uzlabota mysqldump versija |
MySQL čaulas instances izgāztuves utilīta un izgāztuves ielādes utilīta | Loģiskās dublējumkopijas | Šobrīd jaunākais loģiskais dublējums |
Percona XtraBackup | Fiziskās dublēšanas | Trešās puses atbalsts fiziskai dublēšanai |
KLONA SPRAUDNIS | Fiziskās dublēšanas | MySQL oficiālās fiziskās dublējumkopijas. Tomēr jums jāpievieno spraudnis. |
Datu bāzu dublēšana ar GUI (MySQL Workbench)
Ja vēlaties droši darboties GUI, neizmantojot komandas, varat dublēt, izmantojot MySQL Workbench. MySQL Workbench veiktās dublēšanas veids būs "mysqldump".
Startējiet MySQL darbgaldu.
Atlasiet savienojumu, kurā ir datu bāze, kuru vēlaties dublēt.
Kad datu bāze ir jādublē, navigācijas navigācijas kreisajā pusē atlasiet cilni Administrēšana un pēc tam atlasiet Datu eksportēšana.
Tiek atvērts ekrāns Datu eksportēšana. Ekrāns ir samērā plašs, tāpēc izvērsiet logu, līdz apakšējā labajā stūrī var redzēt pogu "Sākt eksportu".
Vispirms atlasiet datu bāzes, kuras vēlaties dublēt. Varat arī atlasīt vairākus.
Sadaļā "Eksportējamie objekti" varat izvēlēties dublēt arī procedūras un trigerus. Šis lauks nav obligāts.
Sadaļā "Eksporta opcijas" varat izvēlēties šādas divas iespējas.
Tipa | apraksts |
---|---|
Eksportēt uz izgāztuves projekta mapi | Izvade uz norādīto mapi kā tabulas vai procedūras fails. |
Eksportēt uz autonomu failu | Ieguliet visu vienā failā un izvadē. |
Nav svarīgi, kādā veidā jūs izvadāt. Iepriekš minēto atlasi ir viegli noņemt, ja vēlaties atjaunot tikai konkrētu tabulu. Tālāk redzamā atlase tiek izvadīta uz vienu failu, atvieglojot failu pārvietošanu un pārvaldību kā datu bāzes vienību. Šajā gadījumā esmu izvēlējies sekojošo.
Pēc iestatījumu iestatīšanas apakšējā labajā stūrī noklikšķiniet uz pogas "Sākt eksportu", lai sāktu eksportu.
Eksports sākas un beidzas.
Ja to izvadīsit kā vienu failu, tas izskatīsies šādi:
Ja eksportējat uz mapi, tas izskatīsies šādi:
Datu bāzes atjaunošana, izmantojot GUI (MySQL Workbench)
Atveriet MySQL Workbench, atlasiet savienojumu, kreisajā pusē esošajā navigatorā atlasiet cilni Administrēšana un atlasiet Datu importēšana/atjaunošana. Kā teikts "Importēt/atjaunot", jūs varat izveidot jaunu datu bāzi no eksportētā faila vai pārrakstīt sākotnējo datu bāzi.
Izvērsiet logu, līdz apakšējā labajā stūrī redzat pogu "Sākt importēšanu".
Atlasiet "Importēt opcijas" atbilstoši eksportētajam faila formātam. Tā kā šoreiz eksportēju kā vienu failu, zemāk atlasīju "Import from Self-Contained File" un norādīju eksportēto failu.
Atlasiet shēmu (datu bāzi), kuru vēlaties atjaunot. Jūs varat atjaunot esošā datu bāzē vai atjaunot to kā jaunu datu bāzi no pogas "Jauns" labajā pusē.
Pēc specifikāciju norādīšanas noklikšķiniet uz pogas "Sākt importēšanu" apakšējā labajā stūrī, lai sāktu atjaunošanu.
Kad atjaunošana ir pabeigta, pārliecinieties, vai jūsu dati ir atgriezušies.
Izveidot kontu datu bāzes dublēšanai, izmantojot komandu
Nav problēmu, ja izpildāt vienu komandu un dublējat to, bet, piemēram, ja komandu iepriekš sagatavojat kā failu un izpildāt to, parole ir jāraksta vienkāršā tekstā, tāpēc ir drošāk izveidot atsevišķu kontu rezerves izpildei.
Dažas dublēšanai nepieciešamās atļaujas var palielināties vai samazināties atkarībā no nepieciešamās informācijas.
- NOTIKUMS
- BLOĶĒT GALDUS
- ATLASIET
- RĀDĪT SKATU
Ja to izveidojat ar komandu, tas izskatīsies šādi. Izmantojiet MySQL komandrindas rīku.
create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;
piemērs
create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;
Mapes atļaujas dublēšanas mērķim
Tās mapes atļaujām, kurā ir saglabāts dublējuma fails, jābūt iestatītām tāpat kā komandas izpildes atļaujām. Ja palaižat komandu ar administratora tiesībām, mapei nav jāiestata papildu atļaujas.
Datu bāzes dublēšana ar komandu (mysqldump)
Pēc komandas ir vairāki dublējumi, bet šoreiz mēs dublēsim ar "mysqldump", kas ir izmantots ilgu laiku un ir stabils.
Ar peles labo pogu noklikšķiniet uz izvēlnes Sākt, lai palaistu termināli (komandu uzvedne). Ņemiet vērā, ka tas nav "MySQL 8.0 komandrindas klients".
To var dublēt ar šādu komandu:
mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"
piemērs
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
Ja norādāt tādu pašu rakstzīmju kodu kā dublējot GUI, tas būs tāds pats kā dublējot GUI. Tādā veidā varat to importēt arī GUI.- Neiekļaujiet atstarpi starp paroles lauku un
-p
paroli.- Ja vēlaties izvadīt arī tabulas telpas informāciju,
--no-tablespaces
noņemiet . Tādā gadījumā darbojošā lietotāja atļaujām jābūt .PROCESS
Norādītajā vietā tiks izveidots dublējuma fails.
Datu bāzes atjaunošana ar komandu (mysqldump)
Mysqldump dublētie faili ir formātā, ko var izpildīt SQL, tāpēc viss, kas jums jādara, ir izpildīt mērķa SQL. Es domāju, ka lielākā daļa atjaunošanas tiek veikta manuāli, tāpēc nav problēmu, ja to palaižat kā saknes kontu.
Ja vēlaties to palaist no komandas, palaidiet to komandu uzvednē, nevis PowerShell. Tas ir tāpēc, ka simbolu nevar izmantot programmā <
PowerShell.
Palaidiet šādu komandu:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
piemērs
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
Automatizēta datu bāzes dublēšana
Operētājsistēmai Windows parasti tiek izmantots uzdevumu plānotājs. Vispirms izveidojiet pakešfailu. Izveidojiet sikspārņu failu, ievadiet saturu, kā tas tika dublēts ar komandu, un saglabājiet to. Rakstzīmju kodējums tiek saglabāts, izmantojot Shift-JIS. Pakešfaila atrašanās vieta un faila nosaukums ir patvaļīgi.
Reģistrējieties ar uzdevumu plānotāju. Ar peles labo pogu noklikšķiniet uz izvēlnes Sākt un atlasiet Datora pārvaldība.
Kreisās puses izvēlnē atlasiet Datora pārvaldība > sistēmas rīki > uzdevumu plānotājs > uzdevumu plānotāja bibliotēka. Labajā pusē esošajā izvēlnē atlasiet "Izveidot uzdevumu...".
Konfigurējiet cilni Vispārīgi. Uzdevumu sarakstā parādīsies "Vārds", tāpēc ievadiet viegli saprotamu nosaukumu. Drošības opcijās atzīmējiet "Palaist neatkarīgi no tā, vai lietotājs ir pieteicies vai nē".
Cilnē "Trigeris" varat iestatīt, kad jāveic dublēšana. Iestatiet šo iestatījumu atbilstoši savai darbībai.
Cilnē "Darbība" iestatiet to, lai palaistu tikko izveidoto partijas failu.
Pēc katra iestatīšanas apstipriniet ar pogu Labi.
Ievadiet savu paroli, lai reģistrētos palaišanai norādītajā kontā.
Pēc tam pārbaudiet, vai dublējums tiks izpildīts norādītajā laikā.