MySQL: jak zálohovat (Dump) a obnovit databázi pomocí mysqldump

tento článek ukazuje správný způsob, jak vypsat a obnovit databázi MySQL z příkazového řádku v Linuxu pomocí příkazů mysqldump a mysql.

pokud používáte databáze MySQL nebo MariaDB, je velmi důležité, abyste pochopili, jak zálohovat a obnovovat data. Kromě toho je třeba udržovat pravidelné zálohování databáze, což vám pomůže obnovit data, pokud dojde k selhání aplikace nebo k poškození dat jakýmkoli selháním systému.

MySQL a MariaDB obsahují nástroje příkazového řádku, které můžete použít k rychlému a snadnému výpisu a obnovení databází. Nástroj mysqldump slouží k exportu obsahu databáze do textového souboru, zatímco klient mysql může být použit k importu dat z textového souboru do databáze MySQL / MariaDB.

jak používat příkaz výpisu MySQL

nástroj příkazového řádku mysqldump exportuje databáze do textových souborů SQL. Jinými slovy, používá se pro převzetí výpisu databáze MySQL.

příkaz syntaxe pro mysqldump je uveden níže:

mysqldump -u -p > .sql

kde:

  • uživatelské jméno je vaše uživatelské jméno MySQL / MariaDB.
  • – P výzva k zadání hesla pro tohoto uživatele.
  • database_name je název databáze, kterou chcete zálohovat.
  • název souboru.sql je úplná cesta k souboru výpisu sql, který bude obsahovat zálohu.

databázové procedury, funkce, pohledy a události jsou dumpingové v době zálohování.

mysqldump: zálohování jedné databáze MySQL

v tomto příkladu je databáze pojmenována my_wordpress. Nahraďte jej názvem databáze, kterou chcete exportovat. Podle syntaxe bude záložní soubor vytvořen v aktuálním umístění.

mysqldump -u root -p my_wordpress > my_wordpress_backup.sql

po spuštění příkazu zadejte své kořenové heslo MySQL.

tím se vytvoří soubor výpisu MySQL s názvem my_wordpress_backup.sql, který obsahuje všechny příkazy SQL pro vytvoření tabulek a obnovení dat do existující databáze. Pokud se během procesu exportu vyskytnou nějaké chyby, mysqldump je vytiskne na obrazovku.

příkaz nebude produkovat žádný vizuální výstup, ale můžete zkontrolovat obsah my_wordpress_backup.sql pomocí příkazu head a zkontrolovat, zda se jedná o legitimní soubor výpisu MySQL.

head -n 5 my_wordpress_backup.sql
-- MariaDB dump 10.19 Distrib 10.5.9-MariaDB, for Linux (x86_64)-- Host: localhost Database: my_wordpress -- Server version 10.3.27-MariaDB-0+deb10u1

mysqldump: zálohování více databází MySQL

Chcete-li zálohovat více databází MySQL jedním příkazem, musíte použít volbu --databases následovanou seznamem databází, které chcete zálohovat. Kromě toho můžete výsledný soubor umístit na místo podle vašeho výběru.

Spusťte následující příkaz a vytvořte soubor výpisu MySQL my_backup.sql v adresáři /home/backups dvou databází s názvem my_wordpress a ftpusers.

mysqldump -u root -p --databases my_wordpress ftpusers > /home/backups/my_backup.sql 

mysqldump: zálohování všech databází MySQL

použijte volbu --all-databases pro zálohování všech databází MySQL:

mysqldump -u root -p --all-databases > all_db_backup.sql

jak vytvořit komprimovanou zálohu databáze MySQL

pokud je velikost databáze velmi velká, je vhodné komprimovat výstup. Chcete-li to provést, jednoduše přeneste výstup do příkazu gzip a přesměrujte jej do souboru, jak je uvedeno níže:

mysqldump -u root -p my_wordpress | gzip > my_wordpress_backup.sql.gz

mysql: obnovení MySQL ze souboru výpisu MySQL

Chcete-li obnovit zálohu vytvořenou pomocí mysqldump, budete muset použít příkaz mysql.

mysql -u -p < .sql

kde

  • uživatelské jméno je vaše uživatelské jméno MySQL/MariaDB.
  • – P výzva k zadání hesla pro tohoto uživatele.
  • database_name je název databáze, ve které chcete obnovit.
  • název souboru.sql je úplná cesta k souboru výpisu sql, který obsahuje zálohu.

mysql: obnovení jediné databáze MySQL

můžete Obnovit všechny tabulky ze souboru výpisu MySQL jakékoli konkrétní databáze.

obnovení se jednoduše provede pomocí níže uvedeného příkazu, kde znovu zadáme uživatele a budeme vyzváni k zadání hesla a předáme soubor my_wordpress_backup.sql do databáze my_wordpress.

mysql -u root -p my_wordpress < my_wordpress_backup.sql

budete vyzváni k zadání hesla uživatele MySQL.

po dokončení by databáze měla být k dispozici v běžící instanci MySQL. Soubor výpisu MySQL, ze kterého jste importovali, bude také stále existovat, takže jej můžete v tomto okamžiku bezpečně uložit, nebo jej odstranit, pokud již není vyžadován.

mysql: Obnovit všechny databáze MySQL

můžete Obnovit všechny databáze libovolného serveru MySQL na jiný server MySQL ze souboru výpisu MySQL.

mysql -u root -p < all_db_backup.sql

závěr

nyní můžete udržovat pravidelné zálohování databázových souborů a obnovit data v případě potřeby podle výše uvedených kroků.

tento tutoriál platí také v případě, že chcete migrovat na nový server. Jednoduše zálohujte databázi na starém serveru a nahrajte soubor výpisu MySQL na nový server. Vytvořte cílovou databázi na novém serveru a poté spusťte nahraný soubor výpisu MySQL v nové databázi. Kromě toho byste měli také znovu vytvořit uživatele a oprávnění ze starého serveru MySQL na nový.

podrobnější informace naleznete v odkazu na oficiální dokumentaci.

Leave a Reply