Най-основно, командата mysqldump, която можете да използвате, е:
mysqldump -u$user -p$pass -S $socket --all-databases > db_backup.sql
Това ще включва базата данни mysql, която ще има всички потребителски/privs таблици.
Има недостатъци при стартирането на това в производствена система, тъй като може да причини заключване. Ако масите ви са достатъчно малки, това може да не окаже значително влияние. Първо ще искате да го тествате.
Въпреки това, ако използвате чиста среда InnoDB, можете да използвате --single-transaction
флаг, който ще създаде дъмпа в една транзакция (вземете го), като по този начин предотвратява заключването на базата данни. Имайте предвид, че има ъглови случаи, в които първоначалният FLUSH TABLES
команда, изпълнявана от дъмпа, може да заключи таблиците. Ако случаят е такъв, убийте дъмп и го рестартирайте. Бих препоръчал също, ако използвате това за архивиране, да използвате --master-data
флаг също така, за да получите двоични координати на журнала от мястото, където е взето дъмпът. По този начин, ако трябва да възстановите, можете да импортирате дъмп файла и след това да използвате mysqlbinlog
команда за повторно възпроизвеждане на двоичните регистрационни файлове от позицията, където е взето това изхвърляне.