MySQL mysqldump: создать и восстановить резервную копию
Создать SQL-дамп одной базы MySQL можно командой mysqldump --single-transaction --databases app_db > app_db.sql. Для InnoDB параметр --single-transaction даёт согласованный снимок без блокировки таблиц на время обычного дампа; для других движков проверьте их поведение отдельно.
Экспортировать базу
mysqldump --single-transaction --routines --triggers \
--databases app_db > app_db.sqlАутентифицируйтесь через безопасный конфигурационный файл клиента или другой одобренный механизм. Не помещайте пароль в командную строку.
Восстановить в тестовую базу
mysql -e 'CREATE DATABASE app_db_restore'
mysql app_db_restore < app_db.sqlЕсли файл содержит CREATE DATABASE и USE, как при флаге --databases, передайте его клиенту без имени базы. Проверьте первые строки дампа перед восстановлением.
Параметр | Назначение |
|---|---|
| Согласованный снимок для транзакционных таблиц |
| Включить процедуры и функции |
| Включить триггеры |
| Добавить в дамп создание и выбор базы |
Включает ли дамп пользователей MySQL?
Обычный mysqldump базы не является полноценной копией системных аккаунтов сервера. Права и учётные записи переносите отдельно согласно версии MySQL/MariaDB.
Как проверить резервную копию?
Восстановите её на изолированном сервере, проверьте таблицы, процедуры и приложение. Успешное завершение команды создания файла само по себе не подтверждает восстановимость.