MySQL je jedním z nejrozšířenějších databázových systémů, který přichází s mnoha účinnými nástroji příkazového řádku. Například zálohování databáze MySQL a její obnovení je jednoduché pomocí příkazu mysqldump. Dnes si pro vaši referenci prohlédneme deset účinných příkladů příkazu mysqldump.
1. Probíhá zálohování vaší databáze MySQL
Mysqldump vám umožňuje zadat heslo na požádání nebo jej dodat spolu s příkazem. Níže je uveden příklad příkazu pro obě metody.
$mysqldump -u root -p[root_password] [database_name] > save_mydb.sql or $mysqldump -u root --password=[root_password] [database_name] > save_mydb.sql
2. Zálohování jedné databáze
Níže uvedený příklad vám umožní provést zálohu jedné databáze. Předpokládejme, že název databáze je ‚RequestTracker‘.
$mysqldump -u root --password=mydbpassword RequestTracker > RT_dump.sql
3. Zálohujte více databází najednou
Pokud si přejete zálohovat více databází současně, identifikujte databáze a předejte je příkazu mysqldump, jak je znázorněno níže. V našem příkladu jsou to databáze RequestTracker, RequestTracker_2, RequestTracker_3.
$mysqldump -u root –-password=mydbpassword RequestTracker RequestTracker_2 RequestTracker_3 > db_dump.sql
4. Zálohujte všechny databáze najednou
Zajímavé je, že můžete zálohovat všechny databáze jediným příkazem.
$mysqldump -u root --password=mydbpassword --all-databases > all_database.sql
5. Zálohujte pouze konkrétní tabulku databáze
Nechcete zálohovat celou databázi a chcete pouze konkrétní tabulku? řekněme user_table z databáze RequestTracker. Zde je příkaz,
$mysqldump -u root --password=mydbpassword RequestTracker user_table > user_table_rt.sql
6. Obnovit databázi
Přihlaste se do MySQL
$mysql -u root -p
Vytvořit databázi
mysql> create database RequestTracker; Query OK, 1 row affected (0.02 sec)
Obnovte databázi
source RequestTracker.sql;
Poznámka:mysql vyhledá RequestTracker.sql soubor v aktuálním adresáři. Pokud ne, budete muset uvést absolutní cestu k souboru.
source /tmp/RequestTracker.sql;
7. Další způsob obnovení databáze
mysql -u root --password=mydbpassword RequestTracker < /tmp/rt_dump.sql
8. Zálohování a obnovení databáze na vzdáleném serveru najednou
Pokud si přejete zálohovat databázi na jednom serveru a odeslat ji k obnovení na vzdálený server, spusťte níže uvedený příkaz. Níže uvedený příklad zálohuje databázi s názvem ‚RequestTracker‘ na aktuálním serveru a obnoví ji na vzdáleném serveru jako „RequestTracker1“.
mysqldump -u root --password=mydbpassword RequestTracker | mysql -u root --password=myremotepass --host=remote_hostname -C RequestTracker1
Pamatujte:Výše uvedený příkaz předpokládá, že databáze ‚RequestTracker1″ již na vzdáleném serveru existuje.
9. Použijte Cron k provádění pravidelných záloh
Pojďme napsat jednoduchý shell skript, který bude pravidelně zálohovat. Zkopírujte níže uvedený kód a vložte jej do souboru s názvem „backup.sh “.
#!/bin/sh today_date=$(date +"%Y%m%d") mysqldump -u root --password=mydbpassword RequestTracker > /backup/RT_dump_$today_date.sql
Nezapomeňte odpovídajícím způsobem změnit uživatelské jméno, heslo a databázi.
Vytvořte cron, jak je uvedeno níže,
0 0 * * * /bin/sh /backup/backup.sh
Výše uvedený cron se bude spouštět denně ve 12 mignight.
10. Další možnosti mysqldump
Získejte další možnosti mysqldump pomocí níže uvedeného příkazu
$mysqldump --help