GNU/Linux >> Znalost Linux >  >> Linux

MySQL:Jak zálohovat (vypsat) 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 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/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ář.


Linux
  1. Jak optimalizovat a opravit databáze MySQL pomocí phpMyAdmin

  2. Jak zálohovat a obnovit databázi Postgres

  3. Jak zálohovat a obnovit databázi MySQL pomocí příkazového řádku

  1. Jak obnovit databázi MySQL pomocí příkazu v SSH?

  2. Jak naplánovat zálohu databáze MySQL na Ubuntu

  3. Zálohování a obnova databáze MySQL pomocí mysqlhotcopy

  1. Jak zálohovat a obnovit databázi MySQL

  2. Jak vytvořit zálohu databází MySQL pomocí mysqldump na Ubuntu 20.04

  3. Jak zálohovat a obnovovat databázi v PostgreSQL