Резервное копирование — это та операция о которой стоит задумать сразу после запуска сервера или службы в данном случае это сервер MySQL под Windows. Если говорить про причины сбоя — это могут быть как аппаратные проблемы, так и кривые руки админа. Возможность откатится должна быть всегда и чем больше у вас будет копий тем меньше будут потери в случае сбоя.
Как не любитель сложных и дорогих решений предлагают развернуть простейшую систему резервного копирования средствами самого MySQL.
Создаем в корне диска папку BackUp, можно конечно использовать расшаренную папку на другом сервере, оно надежней, но для примера и сойдет корень диска
В данной папке создаем пустой CMD файл с произвольным именем. И пишем в нем всего одну строку:
1 | "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysqldump.exe" -u User -h localhost -pPassword BaseName> C:\BackUp\sql-dump.sql |
Где
- User — имя пользователя для доступа к базе (к примеру root)
- Password — пароль для доступа к базе
- BaseName — имя базы
По синтаксису необходимо писать параметр -p и пароль без пробела иначе MySQL просто запросит пароль, а сам пароль примет за параметр.
После запуска полный дамп базы будет находится в файле
1 | C:\BackUp\sql-dump.sql |
Можно конечно немного усложнить и каждый файл сохранять с текущей датой и временем
Осталось поместить задание в планировщик.
Восстановить дамп можно другой командой:
1 | "C:\Program Files\MySQL\MySQL Server 5.5\bin\mysql.exe" -u User -h localhost -pPassword new < C:\BackUp\sql-dump.sql |
Работает и под Linux, только пути изменить