Nejzákladnější je příkaz mysqldump, který můžete použít:
mysqldump -u$user -p$pass -S $socket --all-databases > db_backup.sql
To bude zahrnovat databázi mysql, která bude mít všechny tabulky uživatelů/priv.
Spuštění tohoto na produkčním systému má své nevýhody, protože může způsobit zamykání. Pokud jsou vaše stoly dostatečně malé, nemusí to mít významný dopad. Nejprve to budete chtít vyzkoušet.
Pokud však provozujete čisté prostředí InnoDB, můžete použít --single-transaction
příznak, který vytvoří výpis v jediné transakci (get it), čímž zabrání uzamčení databáze. Všimněte si, že existují rohové případy, kde je počáteční FLUSH TABLES
příkaz spuštěný výpisem může uzamknout tabulky. V takovém případě ukončete výpis a restartujte jej. Pokud to používáte pro účely zálohování, doporučuji také použít --master-data
flag také pro získání souřadnic binárního protokolu, odkud byl výpis pořízen. Tímto způsobem, pokud potřebujete obnovit, můžete importovat soubor výpisu a poté použít mysqlbinlog
příkaz k přehrání binárních souborů protokolu z pozice, kde byl tento výpis pořízen.