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 musíte pravidelně zálohovat databázi, což vám pomůže obnovit vaše data, pokud vaše aplikace selže nebo jsou data poškozena 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 obnově databází. mysqldump
nástroj se používá k exportu obsahu databáze do textového souboru, zatímco mysql
klienta lze použít k importu dat z textového souboru do databáze MySQL/MariaDB.
Jak používat příkaz MySQL Dump
mysqldump
nástroj příkazového řádku exportuje databáze do textových souborů SQL. Jinými slovy, používá se k vytvoření výpisu databáze MySQL.
Syntaxe pro mysqldump
příkaz je uveden níže:
mysqldump -u [username] -p [database_name] > [filename].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.
- název_databáze 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 se při zálohování vypisují.
mysqldump:Zálohování jedné databáze MySQL
V tomto příkladu se databáze jmenuje 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 k vytváření tabulek a obnovení dat do existující databáze. Pokud se během procesu exportu vyskytnou nějaké chyby, mysqldump
vytiskne je na obrazovku.
Příkaz nevytvoří žádný vizuální výstup, ale můžete zkontrolovat obsah my_wordpress_backup.sql
pomocí příkazu head ke kontrole, 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 --databases
následuje seznam databází, které chcete zálohovat. Kromě toho můžete výsledný soubor umístit na libovolné místo.
Spuštěním následujícího příkazu vytvořte soubor výpisu MySQL my_backup.sql
v /home/backups
adresář 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 --all-databases
možnost 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é výstup zkomprimovat. Chcete-li to provést, jednoduše nasměrujte výstup do gzip
a přesměrujte jej do souboru, jak je znázorněno 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 mysql
příkaz.
mysql -u [username] -p [database_name] < [filename].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.
- název_databáze 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í jedné 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 opět určíme uživatele a budeme vyzváni k zadání hesla a předáme my_wordpress_backup.sql
soubor do databáze my_wordpress
.
mysql -u root -p my_wordpress < my_wordpress_backup.sql
Budete vyzváni k zadání hesla vašeho uživatele MySQL.
Jakmile je toto dokončeno, databáze by měla být dostupná v běžící instanci MySQL. Soubor výpisu MySQL, ze kterého jste importovali, bude také stále existovat, takže jej v tuto chvíli můžete buď bezpečně uložit, nebo jej smazat, pokud již není vyžadován.
mysql:Obnovení všech databází MySQL
Všechny databáze libovolného serveru MySQL můžete obnovit na jiný server MySQL ze souboru výpisu MySQL.
mysql -u root -p < all_db_backup.sql
Závěr
Nyní můžete pravidelně zálohovat databázové soubory a v případě potřeby data obnovit podle výše uvedených kroků.
Tento výukový program také platí, když chcete migrovat na nový server. Jednoduše zazálohujte databázi na svém 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ý.
Pro podrobnější informace je zde odkaz na oficiální dokumentaci.
Pokud máte nějaké dotazy nebo zpětnou vazbu, neváhejte zanechat komentář.