mysqldump: резервне копіювання та відновлення баз даних MySQL

MySQL / MariaDB · 19.04.2026
mysqldump: резервне копіювання та відновлення баз даних MySQL

Основні команди 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 для автоматичних бекапів — створіть окремого користувача з мінімальними привілеями.
← Назад до бази знань Поставити питання підтримці