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