четверг, 17 января 2008 г.

создание резервной копии базы mysql и ее импорт в денвер

Есть простой и надежный способ делать резервные копии баз mysql. Для этого достаточно написать пару команд, которые будут выполняться кроном по расписанию. Выбранная вами база mysql будет полностью сохранена в виде одного файла .sql -для этого вам не придется заходить в phpmyadmin, чтобы много раз щелкать для экспорта базы. Если вы используете wordpress, то вам не нужен плагин экспорта базы wordpress. Все у вас уже есть и было. Итак: создаете файл, ну например с именем mysqlbackup.sh и следующим содержанием:

#!/bin/sh
date=`date ‘+%m-%d-%y’`
mysqldump -uлогин_пользователя -pпароль имя_базы>/home/логин/backup/имя_базы.$date.sql
gzip /home/логин/backup/имя_базы.$date.sql

Конечно, если вы точно в таком виде сохраните файл, то работать ничего не будет: вместо русских слов (имя_пользователя и прочее) пропишите данные для вашей базы. То есть требуется Имя и пароль пользователя базы, имя самой базы. Также пропишите пути, куда будет сохранен файл - путь должен быть абсолютным - замените слово “логин” на ваш логин у хостера. Залейте файл mysqlbackup.sh в созданную вами папку на сервере (в моем конкретно примере backup) и установите атрибуты 777 на этот файл. Следующим шагом добавьте задание крону через панель управления, установив периодичность раз в неделю. После этого в вашей папке backup на сервере еженедельно будет появляться полная копия вашей базы mysql. Надо заметить, что база будет заархивирована gzip’ом - если не хотите этого то удалите строчку gzip /home/логин/backup/имя_базы.$date.sql , но тогда вам придется скачивать в пять раз дольше файл и он соответственно будет занимать дисковое пространство вашего хостинга. Чтобы экономно использовать собственный трафик и дисковое пространство на хостинге я и архивирую копию базы mysql. Сгенерированный файл в своем имени будет содержать дату его создания - это для того, чтобы вы не путались в каком конкретно состоянии находилась база - ведь база постоянно растет с публикацией новых статей на блоге.
Итак, что вы можете делать с полученной копией? Ну конечно, скачать к себе на домашний компьютер и импортировать ее в денвер! Вы получаете у себя дома абсолютную копию вашего блога в Интернете со всеми паролями, комментариями и настройками! Остается дело за малым - в денвере создаете базу mysql с таким же именем и пользователем, как на сервере у хостера. Для импорта в базу mysql денвера создайте например файл mysqlrestore.bat в котором напишите одну строку:

mysql -uлогин_пользователя -pпароль -Dимя_базы<имя_разархивированного_файла.sql

и поместите mysqlrestore.bat и разархивированный файл sql папку с бинарниками mysql, например
C:\WEBSERVERS\USR\LOCAL\MYSQL4\BIN\

запустите этот bat файл и тогда абсолютная копия базы wordpress будет на вашем домашнем компьютере. Если вдруг сломается ваш хостер, то у вас всегда будет копия вашего блога, и вы его легко сможете восстановить у хостера или перенести блог к другому хостеру. Чтобы поддерживать актуальную базу mysql на домашнем компьютере не забывайте раз в неделю скачивать свежую копию своей базы у хостера.

Здесь можно оставить свои комментарии. Выпуск опубликован при помощи плагина subscribe.ru and blogspot.com cross poster

Комментариев нет: