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

Stránky aktualizovány :
Datum vytvoření stránky :

Provozní prostředí

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

Požadavky

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

předpoklad

  • Je nainstalována databáze pro MySQL.
  • Databáze, která má být zálohována, již existuje.
  • Nastavili jste proměnné prostředí tak, abyste mohli spustit mysql z příkazového řádku.

Jaké jsou typy záloh?

Ačkoli to zde není podrobně popsáno, MySQL má následující typy záloh:

Příkazy zálohováníTypy zálohovacích datPoznámky
mysqldump řekl: Logické zálohy Stará metoda zálohování. Grafické uživatelské rozhraní také používá toto
mysqlpump Logické zálohy Vylepšená verze mysqldump
Nástroj pro výpis instancí MySQL Shell a nástroj pro načítání výpisu paměti Logické zálohy Nejnovější logická záloha v tuto chvíli
Percona XtraBackup Fyzické zálohy Podpora třetích stran pro fyzické zálohování
KLONOVACÍ PLUGIN Fyzické zálohy Oficiální fyzické zálohy MySQL. Musíte však přidat zásuvný modul.

Zálohování databází 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 zálohovat pomocí aplikace MySQL Workbench. Typ zálohování prováděného aplikací MySQL Workbench bude "mysqldump".

Spusťte aplikaci MySQL Workbench.

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

S databází, kterou chcete zálohovat, vyberte v Navigátoru vlevo kartu Správa a poté vyberte Export dat.

Otevře se obrazovka Export dat. Obrazovka je přiměřeně široká, takže rozšiřujte okno, dokud vpravo dole neuvidíte tlačítko "Spustit export".

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

V části "Objekty k exportu" si můžete vybrat, zda chcete zálohovat procedury a spouštěče. Toto pole je volitelné.

V části "Možnosti exportu" můžete vybrat následující dvě možnosti.

Popis typu
Exportovat do složky projektu s výpisem paměti Výstup do zadané složky jako tabulka nebo soubor procedur.
Exportovat do samostatného souboru Vložte vše do jednoho souboru a výstupu.

Nezáleží na tom, jakým způsobem vyrábíte. Výše uvedený výběr lze snadno odstranit, pokud chcete obnovit pouze konkrétní tabulku. Následující výběr je výstupem do jednoho souboru, což usnadňuje přesouvání a správu souborů jako databázové jednotky. V tomto případě jsem vybral následující.

Po nastavení klikněte na tlačítko "Spustit export" v pravém dolním rohu pro spuštění exportu.

Export se spustí a dokončí.

Pokud jej vypíšete jako jeden soubor, bude vypadat takto:

Pokud exportujete do složky, bude to vypadat takto:

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

Otevřete MySQL Workbench, vyberte připojení, v Navigátoru na levé straně vyberte kartu Správa a vyberte Import nebo obnovení dat. Jak je uvedeno "Import/Restore", můžete z exportovaného souboru vytvořit novou databázi nebo přepsat původní databázi.

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

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

Vyberte schéma (databázi), do kterého chcete provést obnovení. Existující databázi můžete obnovit nebo obnovit jako novou databázi pomocí tlačítka "Nová" vpravo.

Po zadání specifikací spusťte obnovu kliknutím na tlačítko "Spustit import" vpravo dole.

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

Vytvoření účtu pro zálohování databáze příkazem

Není problém, pokud provedete jeden příkaz a zazálohujete jej, ale například pokud si příkaz předem připravíte jako soubor a spustíte jej, je potřeba napsat heslo v prostém textu, takže je bezpečnější vytvořit samostatný účet pro provádění zálohování.

Některá oprávnění vyžadovaná pro zálohování se mohou zvýšit nebo snížit v závislosti na požadovaných informacích.

  • UDÁLOST
  • UZAMYKÁNÍ STOLŮ
  • VYBRAT
  • ZOBRAZIT POHLED

Pokud jej vytvoříte příkazem, bude vypadat takto. Použijte nástroj 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í složky, ve které je uložen záložní soubor, musí být nastavena stejným způsobem jako oprávnění pro provedení příkazu. Pokud příkaz spustíte s oprávněními správce, nemusíte pro složku nastavovat žádná další oprávnění.

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

Existuje několik záloh příkazem, ale tentokrát budeme zálohovat pomocí "mysqldump", který se používá již dlouhou dobu a je stabilní.

Klepněte pravým tlačítkem myši na nabídku Start a spusťte Terminál (příkazový řádek). Všimněte si, ž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 Pokud zadáte stejný kód znaku jako při zálohování v grafickém uživatelském rozhraní, bude stejný jako při zálohování v grafickém uživatelském rozhraní. Tímto způsobem jej můžete také importovat do grafického uživatelského rozhraní.
  • Mezi pole pro heslo a -p heslo nevkládejte mezeru.
  • Chcete-li také zobrazit informace o tabulkovém prostoru, --no-tablespaces odeberte soubor . V takovém případě musí být oprávnění spuštěného uživatele . PROCESS

V zadaném umístění se vytvoří záložní soubor.

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

Soubory zálohované mysqldump jsou ve formátu, který lze spustit v SQL, takže vše, co musíte udělat, je spustit cílový SQL. Myslím, že většina obnov se provádí ručně, takže není problém, pokud jej spustíte jako účet root.

Pokud ho chcete spustit z příkazu, spusťte ho na příkazovém řádku místo PowerShellu. Důvodem je to, že symbol nelze použít v < PowerShellu.

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

Automatizované zálohování databáze

V systému Windows je běžné používat Plánovač úloh. Nejprve vytvořte dávkový soubor. Vytvořte soubor bat, zadejte obsah tak, jak byl zálohován příkazem, a uložte jej. Kódování znaků se ukládá pomocí Shift-JIS. Umístění a název dávkového souboru jsou libovolné.

Zaregistrujte se v Plánovači úloh. Klepněte pravým tlačítkem myši na nabídku Start a vyberte Správa počítače.

Z nabídky vlevo vyberte Správa počítače > Systémové nástroje > Plánovač úloh > Knihovna plánovače úloh. Z nabídky vpravo vyberte "Vytvořit úlohu...".

Nakonfigurujte kartu Obecné. V seznamu úkolů se zobrazí "Název", proto 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".

Na kartě "Spouštěč" můžete nastavit, kdy se má zálohování provést. Nastavte toto nastavení podle vaší operace.

Na kartě "Operace" jej nastavte tak, aby spouštěl dávkový soubor, který jste právě vytvořili.

Po nastavení každého z nich potvrďte tlačítkem OK.

Zadejte své heslo a zaregistrujte se ke spuštění pod zadaným účtem.

Poté zkontrolujte, zda bude záloha provedena v určený čas.