Zálohování a obnova databází MySQL pro Windows

Datum vytvoření stránky :

Prostředí pro potvrzení provozu

MySQL
  • MySQL 8.0 Community Edition
Windows
  • Systém Windows 11

Požadované prostředí

MySQL
  • MySQL 8.0
Windows
  • Systém Windows 11
  • Systém Windows 10
Windows Server
  • Windows Server 2022
  • Windows Server 2019
  • Windows Server 2016
  • Windows Server 2012 R2

předpoklad

  • Musí být nainstalována MySQL databáze
  • Databáze, která má být zálohována, již existuje
  • Nakonfigurujte proměnné prostředí a umožněte vám spustit MySQL z příkazového řádku

O typech zálohování

Nebudu zde zacházet do podrobností, ale MySQL má následující typy záloh:

Příkaz zálohy: Datový typ Poznámky
mysqldump Logická záloha Stará metoda zálohování. Grafické uživatelské rozhraní také používá toto
mysqlpump Logická záloha Vylepšená verze mysqldump
Nástroj pro výpis instance MySQL Shell a nástroj pro načítání výpisu Logická záloha Jako logická záloha je v tuto chvíli nejnovější
Percona XtraBackup Fyzická záloha Produkty třetích stran, které umožňují fyzické zálohování
KLONOVANÝ PLUGIN Fyzická záloha Oficiální fyzická záloha MySQL. Jsou však vyžadovány další zásuvné moduly

Zálohování databáze pomocí grafického uživatelského rozhraní (MySQL Workbench)

Pokud chcete bezpečně pracovat v grafickém uživatelském rozhraní bez použití příkazů, můžete provést zálohování v aplikaci MySQL Workbench. Typ zálohování prováděný v MySQL Workbench je "mysqldump".

Spusťte aplikaci MySQL Workbench.

Vyberte připojení k databázi, kterou chcete zálohovat.

S databází, kterou chcete zálohovat, vyberte v navigátoru vlevo kartu Správa a vyberte možnost Export dat.

Otevře se obrazovka Export dat. Obrazovka je poměrně velká, takže rozšiřujte okno, dokud v pravém dolním rohu neuvidíte tlačítko "Spustit export".

Nejprve vyberte databázi, kterou chcete zálohovat. Můžete také vybrat více než jednu.

V části "Objekty k exportu" si můžete vybrat, zda chcete zálohovat také procedury, spouštěče atd. Tato položka je volitelná.

V části "Možnosti exportu" si můžete vybrat z následujících dvou možností:

Popis typů
Export do složky projektu výpisu Výstup jako tabulka nebo soubor procedury podle procedury v dané složce.
Exportovat do samostatného souboru Vložte vše do jednoho souboru a odešlete jej.

Nezáleží na tom, který z nich vytvoříte. Pokud zvolíte výše, je to snadné, protože jej můžete snadno odstranit, pokud chcete obnovit pouze konkrétní tabulku. Následující výběry jsou odeslány do jednoho souboru, což usnadňuje přesouvání a správu souborů jako databázové jednotky. Tentokrát jsem vybral následující.

Po nakonfigurování zahájíte export kliknutím na tlačítko Spustit export v pravém dolním rohu.

Export se spustí a dokončí.

Pokud výstup provedete v jediném souboru, bude vypadat takto:

Pokud exportujete do složky, bude vypadat takto:

Obnovení databáze pomocí grafického uživatelského rozhraní (MySQL Workbench)

Otevřete aplikaci MySQL Workbench, vyberte svá připojení, v Navigátoru vlevo vyberte kartu Správa a vyberte možnost Import/obnovení dat. Jak je uvedeno "Importovat/Obnovit", můžete z exportovaného souboru vytvořit novou databázi nebo původní databázi přepsat.

Rozbalujte okno, dokud v pravém dolním rohu neuvidíte tlačítko "Spustit import".

Vyberte "Možnosti importu" podle formátu exportovaného souboru. Protože jsem jej tentokrát exportoval jako jeden soubor, vybral jsem níže možnost "Importovat ze samostatného souboru" a specifikoval exportovaný soubor.

Vyberte schéma (databázi), které chcete obnovit. Můžete obnovit do existující databáze, nebo ji můžete obnovit jako novou databázi pomocí tlačítka "nová" vpravo.

Po zadání klikněte na tlačítko "Spustit import" v pravém dolním rohu a spusťte obnovu.

Po dokončení obnovy se ujistěte, že jsou vaše data zpět.

Vytvořte účet pro zálohování databáze pomocí příkazu

Není problém, pokud chcete spustit příkaz pro zálohování jednou, ale pokud si například připravíte příkaz jako soubor předem a spustíte jej, je potřeba heslo napsat jako prostý text, takže je bezpečnější vytvořit si samostatný účet pro spuštění zálohy.

Oprávnění vyžadovaná pro zálohování jsou následující, ale mohou se zvýšit nebo snížit v závislosti na požadovaných informacích.

  • UDÁLOST
  • ZAMYKÁNÍ TABULEK
  • VYBRAT
  • ZOBRAZIT ZOBRAZENÍ

Pokud jej vytvoříte příkazem, bude vypadat takto: Spusťte jej pomocí nástroje příkazového řádku MySQL.

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

příklad

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

Oprávnění složky pro cíl záloh

Oprávnění pro složku, ve které je uložen záložní soubor, musí být nastavena na stejná oprávnění jako oprávnění ke spuštění příkazu. Pokud chcete spouštět příkazy s oprávněním Administrators, nemusíte pro složku nastavovat žádná další oprávnění.

Zálohování databáze příkazem (mysqldump)

Záloh příkazů je několik, ale tentokrát budu zálohovat starým a stabilním "mysqldump".

Klepněte pravým tlačítkem myši na nabídku Start a spusťte Terminál (příkazový řádek). Upozorňujeme, že se nejedná o "klienta příkazového řádku MySQL 8.0".

Můžete jej zálohovat pomocí následujícího příkazu:

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

příklad

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 bude mít stejný kód znaku jako při zálohování v grafickém uživatelském rozhraní. To vám umožní importovat je také do grafického uživatelského rozhraní.
  • Mezi pole -p pro heslo a heslo nevkládejte mezeru.
  • Pokud chcete také zobrazit informace o tabulkovém prostoru, --no-tablespaces zrušte zaškrtnutí . V takovém případě jsou vyžadována PROCESS oprávnění uživatele provádějícího příkazy.

V určeném umístění bude vytvořen záložní soubor.

Obnova databáze pomocí příkazu (mysqldump)

Soubory zálohované pomocí mysqldump jsou ve formátu, který lze spustit v SQL, takže stačí spustit pouze cílové SQL. Myslím, že obnova se často provádí ručně, takže je v pořádku ji spustit na účtu root.

Pokud jej chcete spustit z příkazu, spusťte jej na příkazovém řádku místo PowerShellu. Je to < proto, že PowerShell nepovoluje symboly.

Spusťte následující příkaz:

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

příklad

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

Automatické zálohování databáze

V systému Windows je běžné používat plánovač úloh. Začněte vytvořením dávkového souboru. Vytvořte soubor bat, zadejte obsah tak, jak byl zálohován pomocí příkazů, a uložte jej. Ukládejte kódy znaků pomocí klávesy Shift-JIS. Umístění a název dávkového souboru může být libovolné.

Zaregistrujte se v plánovači úloh. Klikněte pravým tlačítkem na nabídku Start a vyberte "Spravovat počítač".

V nabídce vlevo vyberte možnost Správa počítače > Systémové nástroje > Plánovač úloh > Knihovna plánovače úloh. Vyberte Vytvořit úlohu z nabídky vpravo.

Nastavte kartu Obecné. "Jméno" se zobrazí v seznamu úkolů, takže zadejte název, který je snadno srozumitelný. V možnostech zabezpečení zaškrtněte políčko "Spustit bez ohledu na to, zda je uživatel přihlášen nebo ne".

Karta Spouštěcí události nastavuje, kdy má být zálohování provedeno. Toto nastavení by mělo být nastaveno podle vašeho provozu.

Na kartě Operace nastavte dávkový soubor, který jste právě vytvořili, na spuštění.

Jakmile každý z nich nastavíte, potvrďte je tlačítkem OK.

Zadejte své heslo pro registraci ke spuštění na zadaném účtu.

Nyní zkontrolujte, zda se zálohování spustí ve stanovený čas.