Орагнизовать резервное копирование базы данных на Windows машину не имея непосредственного доступа к серверу MySQL.
Решение
Для бекапа будут использоваться две утилиты:
- Putty - лучший консольный SSH клиент для Windows.
- MySQL Administrator - входт в состав MySQL GUI Tools и доступен на сайте http://dev.mysql.com
Запускаю putty, в разделе Session указываю адрес ApacheSrv. В разделе Tunnels указываю порт источник 5000 и назначение mysql.host.com:3306. Нажимаю кнопку Open, ввожу запрашиваемые логин и пароль. С этого момента начинает действовать тунелирование. Другими словами, на 5000 порту Windows машины теперь действует точная копия MySQL сервера, которая будет считать, что к ней присоединяется ApacheSrv.
Запускаю MySQL Administartor, указываю имя хоста localhost (Windows машина) , порт 5000, а также имя пользователя и пароль к БД. После соединения с базой данных выбираю Backup, New Project. Ввожу имя проекта My backup, выбираю базу данных для бекапа и нажимаю на кнопку ">", для того чтобы MySQL Administrator получил список таблиц в базе.
Нажимаю Execute Backup Now и указываю, куда мне сохранить бекап. Процесс может занять несколько часов. По окончании должно высветиться окно The Backup was finished successfully.
Для восстановления вместо Backup надо выбрать Restore и указать на сохранённый файл.
Заметки
Для восстановления вместо Backup надо выбрать Restore и указать на сохранённый файл.
Заметки
- Имя SSH сервера, а также, логин и пароль часто совпадают с параметрами доступа по FTP.
- Адрес MySQL сервера, имя пользователя и пароль можно посмотреть в конфигурационных файлах ваших скриптов, или же обратиться к хостеру.
- Перед бекапом надо обязательно остановить сервис, который работает с базой данных. Иначе восстановление данных не гарантировано.
- Файлы бекапа базы данных, как правило, хорошо поддаются сжатию, так что хранить их удобнее в сжатом виде.
- Бекап необходимо проводить регулярно, и копии хранить в безопасном месте. Хранить копии на рабочей машине небезопасно. Лучше использовать внешние носители.
- Использование Web интерфейсов, таких кaк phpMyAdmin, позволяет орагнизовать бекап и восстановление только маленьких баз данных. Предложенный мной способ прекрасно справляется с гигабайтными объёмами.
- Не имеет значения сколько место вам предоставляет хостер. Для такого бекапа не портебуется дополнительного места.