Очень часто в сети можно встретить множество инструкций на тему того как создавать бэкап и загружать его обратно для Unix систем. А вот под windows есть пара нюансов. Разберем на простых примерах.
Итак откроем cmd.exe и поменяем в нем директорию
1 |
cd C:\Program Files\MySQL\MySQL Server 5.5\bin |
Здесь нюанс состоит в том, что если открыть cmd под обычным пользователем, то есть так…
И поменять в нем рабочую директорию, то при дальнейшей попытке сделать дамп будет ошибка “Отказано в доступе”. Поэтому необходимо зайти под администратором.
Нужно cmd.exe открыть под админом, например через WIN+X | Выбрать Командная строка (администратор)
Далее пишем стандартные инструкции для бэкапа (самый простой вариант)
Для начала нам нужно заблокировать все таблицы во всех базах данных
1 |
FLUSH TABLES WITH READ LOCK |
Теперь собственно сделаем дамп или другими словами бэкап
1 |
mysqldump test_db > dump.sql |
test_db здесь это имя базы данных. Бэкап сохраняется в папке BIN, в той же самой, в которой установлена утилита mysqldump.exe да и собственно mysqld.exe
Примечание из документации
Для движков InnoDB необходимо добавлять –single-transaction, например так…
1 |
mysqldump --single-transaction --all-databases > backup_sunday_1_PM.sql |
Полученный .sql файл содержит набор INSERT инструкций, которые могут быть использованы, чтобы загрузить архивные таблицы позже. Также здесь применен параметр –all-databases, который сделает архив всех баз данных.
Теперь откроем какую-нибудь таблицу и удалим в ней-какую-нибудь строку…
Теперь восстановим базу данных из бэкапа
1 |
mysql -uroot -pmasterkey test_db < dump.sql |
Ссылки
Блог на английском на данную тему
Блог на хабре – четко и кратко основные моменты