Основні команди mysqldump
mysqldump — стандартна утиліта для створення логічних резервних копій MySQL та MariaDB. Створює SQL-файл з командами для відтворення структури та даних бази.
Бекап однієї бази даних
mysqldump -u root -p --single-transaction --quick mydb | gzip > mydb_$(date +%Y%m%d).sql.gzЗавжди використовуйте
--single-transaction для InnoDB — консистентний знімок без блокування таблиць.Корисні прапори mysqldump
| Прапор | Опис |
|---|---|
--single-transaction | Консистентний бекап InnoDB без блокувань |
--no-data | Лише структура |
--all-databases | Бекап всіх баз |
Відновлення з дампу
mysql -u root -p mydb < mydb_backup.sql
gunzip < mydb_backup.sql.gz | mysql -u root -p mydbАвтоматизація через cron
0 2 * * * root mysqldump -u backup_user -pPass --single-transaction \
--all-databases | gzip > /backups/mysql/all_$(date +\%Y\%m\%d).sql.gz && \
find /backups/mysql/ -name "*.sql.gz" -mtime +7 -deleteНе використовуйте root для автоматичних бекапів — створіть окремого користувача з мінімальними привілеями.