Varnostno kopiranje in obnovitev baz podatkov MySQL za Windows
Okolje za potrditev delovanja
- MySQL
-
- Izdaja skupnosti MySQL 8.0
- Windows
-
- Okna 11
Zahtevano okolje
- MySQL
-
- MySQL 8.0
- Windows
-
- Okna 11
- Operacijski sistem Windows 10
- Windows Server
-
- Windows Server 2022
- Windows Server 2019
- Windows Server 2016
- Windows Server 2012 R2
Pogoj
- Nameščena mora biti zbirka podatkov MySQL
- Podatkovna zbirka, ki jo je treba varnostno kopirati, že obstaja
- Konfigurirajte okoljske spremenljivke in vam omogočite zagon MySQL iz ukaznega poziva
O vrstah varnostnih kopij
Tukaj ne bom šel v podrobnosti, vendar ima MySQL naslednje vrste varnostnih kopij:
Ukaz za varnostno | kopiranje Opombe o vrsti podatkov o varnostnem kopiranju | |
---|---|---|
Mysqldump | Logično varnostno kopiranje | Stara metoda varnostnega kopiranja. GUI uporablja tudi to |
MysqlPump | Logično varnostno kopiranje | Izboljšana različica mysqldump |
Pripomoček za izpis primerka lupine MySQL in pripomoček za nalaganje odlagališča | Logično varnostno kopiranje | Kot logična varnostna kopija je trenutno najnovejša |
Percona XtraBackup | Fizično varnostno kopiranje | Izdelki drugih proizvajalcev, ki omogočajo fizično varnostno kopiranje |
VTIČNIK ZA KLONIRANJE | Fizično varnostno kopiranje | MySQL uradna fizična varnostna kopija. Vendar pa so potrebni dodatni vtičniki |
Varnostno kopiranje baze podatkov z grafičnim uporabniškim vmesnikom (MySQL Workbench)
Če želite varno delovati v grafičnem uporabniškem vmesniku brez uporabe ukazov, lahko varnostno kopijo izvedete v MySQL Workbench. Vrsta varnostne kopije, ki se izvaja v MySQL Workbench, je »mysqldump«.
Zaženite MySQL Workbench.
Izberite povezavo z zbirko podatkov, ki jo želite varnostno kopirati.
Z bazo podatkov, ki jo želite varnostno kopirati, izberite zavihek Skrbništvo v Navigatorju na levi in izberite Izvoz podatkov.
Odpre se zaslon Izvoz podatkov. Zaslon je precej velik, zato razširite okno, dokler v spodnjem desnem kotu ne vidite gumba »Začni izvoz«.
Najprej izberite zbirko podatkov, ki jo želite varnostno kopirati. Izberete lahko tudi več kot enega.
V razdelku »Predmeti za izvoz« lahko izberete, ali želite varnostno kopirati postopke, sprožilce itd. Ta točka je neobvezna.
V »Možnosti izvoza« lahko izbirate med naslednjima dvema možnostma:
Opis vrst | |
---|---|
Izvozi v mapo projekta Dump | Izpis kot tabela ali datoteka po posameznih postopkih v dano mapo. |
Izvozi v samostojno datoteko | Vdelajte vse v eno datoteko in jo izpišite. |
Ni pomembno, katero izpišete. Če izberete zgoraj, je preprosto, saj jo lahko preprosto odstranite, če želite obnoviti le določeno tabelo. Naslednje izbire so izpisane v eno datoteko, kar olajša premikanje in upravljanje datotek kot enote zbirke podatkov. Tokrat sem izbral naslednje.
Ko konfigurirate, kliknite Začni izvoz gumb v spodnjem desnem kotu, da začnete izvažati.
Izvoz se začne in konča.
Če izpišete v eni datoteki, bo videti takole:
Če izvozite v mapo, bo videti tako:
Obnovitev baze podatkov z grafičnim uporabniškim vmesnikom (MySQL Workbench)
Odprite MySQL Workbench, izberite povezave, izberite zavihek Skrbništvo v Navigatorju na levi in izberite Uvoz / obnovitev podatkov. Kot piše »Uvoz / Obnovi«, lahko iz izvožene datoteke ustvarite novo bazo podatkov ali prepišete izvirno bazo podatkov.
Razširite okno, dokler v spodnjem desnem kotu ne vidite gumba »Začni uvoz«.
Izberite »Možnosti uvoza« glede na izvoženo obliko datoteke. Ker sem jo tokrat izvozil kot eno datoteko, sem spodaj izbral »Uvozi iz samostojne datoteke« in določil izvoženo datoteko.
Izberite shemo (zbirko podatkov), ki jo želite obnoviti. Obnovite lahko obstoječo bazo podatkov ali pa jo obnovite kot novo zbirko podatkov z gumbom »novo« na desni.
Ko določite, kliknite gumb »Začni uvoz« v spodnjem desnem kotu, da začnete obnovitev.
Prepričajte se, da so podatki shranjeni, ko je obnovitev končana.
Ustvarite račun za varnostno kopiranje baze podatkov z ukazom
Ni težav, če želite zagnati ukaz za enkratno varnostno kopiranje, če pa na primer vnaprej pripravite ukaz kot datoteko in ga zaženete, morate geslo napisati v navadnem besedilu, zato je varneje ustvariti ločen račun za zagon varnostne kopije.
Dovoljenja, potrebna za varnostno kopiranje, so naslednja, vendar se lahko povečajo ali zmanjšajo glede na zahtevane informacije.
- DOGODEK
- ZAKLENITE MIZE
- IZBRATI
- POKAŽI POGLED
Če ga ustvarite z ukazom, bo videti takole: Zaženite ga z orodjem ukazne vrstice MySQL.
create user '<ユーザー名>'@'<ホスト名>' identified by '<パスワード>';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON <データベース名>.* TO '<ユーザー名>'@'<ホスト名>';
flush privileges;
primer
create user 'backup_user'@'localhost' identified by 'password';
GRANT EVENT, LOCK TABLES, SELECT, SHOW VIEW ON test_database.* TO 'backup_user'@'localhost';
flush privileges;
Dovoljenja za mape za cilj varnostne kopije
Dovoljenja za mapo, v kateri je shranjena datoteka varnostne kopije, morajo biti nastavljena na enako dovoljenje kot dovoljenje za izvajanje ukaza. Če želite zagnati ukaze s skrbniškim dovoljenjem, vam ni treba nastaviti dodatnih dovoljenj za mapo.
Varnostno kopiranje zbirke podatkov z ukazom (mysqldump)
Obstaja več varnostnih kopij ukazov, toda tokrat bom varnostno kopiral s starim in stabilnim "mysqldump".
Z desno miškino tipko kliknite meni Start in zaženite Terminal (ukazni poziv). Upoštevajte, da to ni »odjemalec ukazne vrstice MySQL 8.0«.
Varnostno kopirate ga lahko s tem ukazom:
mysqldump -u <ユーザー名> -p<パスワード> --no-tablespaces --single-transaction --triggers --routines --events --default-character-set=utf8 <データベース名> > "<バックアップファイルパス>"
primer
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
bo enaka koda znakov, kot če je varnostno kopirana v GUI. To vam omogoča, da jih uvozite tudi v GUI.- Med poljem
-p
za geslo in geslom ne vstavljajte presledka.- Če želite izpisati tudi informacije o prostoru tabele,
--no-tablespaces
počistite polje . V tem primeru so potrebna dovoljenjaPROCESS
izvajalca.
Varnostna kopija datoteke bo ustvarjena na določenem mestu.
Obnovitev zbirke podatkov z ukazom (mysqldump)
Datoteke, varnostno kopirane z mysqldump, so v obliki, ki jo je mogoče zagnati v SQL-ju, zato morate zagnati samo ciljni SQL. Mislim, da se obnovitev pogosto izvede ročno, zato je v redu, da jo zaženete na korenskem računu.
Če ga želite zagnati iz ukaza, ga zaženite v ukaznem pozivu namesto v PowerShell. To je <
zato, ker PowerShell ne dovoljuje simbolov.
Zaženite ta ukaz:
mysql -u root -p<root のパスワード> <データベース名> < <バックアップした SQL のファイルパス>
primer
mysql -u root -ppassword test_database < C:\Temporary\Backup.sql
Samodejno varnostno kopiranje baze podatkov
V operacijskem sistemu Windows je običajna uporaba razporejevalnika opravil. Začnite z ustvarjanjem paketne datoteke. Ustvarite datoteko netopirjev, vnesite vsebino, kot je bila varnostno kopirana z ukazi, in jo shranite. Shranite kode znakov s Shift-JIS. Mesto in ime datoteke paketne datoteke sta lahko poljubna.
Registrirajte se v razporejevalniku opravil. Z desno miškino tipko kliknite meni Start in izberite »Upravljanje računalnika«.
V levem meniju izberite Upravljanje računalnika > Sistemska orodja > Razporejevalnik opravil > Knjižnica razporejevalnika opravil. V meniju na desni izberite Ustvari opravilo.
Nastavite zavihek Splošno. »Ime« bo prikazano na seznamu opravil, zato vnesite ime, ki ga je enostavno razumeti. V varnostnih možnostih potrdite »Zaženi, ali je uporabnik prijavljen ali ne«.
Zavihek Sprožilci nastavi, kdaj je treba izvesti varnostno kopiranje. To nastavitev je treba nastaviti glede na vašo operacijo.
Na zavihku Postopki nastavite paketno datoteko, ki ste jo pravkar ustvarili, da se zažene.
Ko nastavite vsakega od njih, jih potrdite z gumbom OK.
Vnesite svoje geslo za registracijo za zagon na določenem računu.
Zdaj preverite, ali se bo varnostna kopija zagnala ob določenem času.