Как сделать backup базы данных своего сайта?

В прошлой заметке вы узнали как сделать backup файлов сайта на виртуальном хостинге используя доступ к сайту через ssh. А также, надеюсь, осознали необходимость создания резервной копии сайта на случай сбоя в его работе по различным причинам. В этот раз, как я и обещал, мы узнаем как сделать backup базы данных своего сайта.

Первый способ – использование специального фронтенда для управления базами данных phpMyAdmin. Эта программа обычно присутствует на любом хостинге с юникс-подобными операционными системами Linux или FreeBSD. Попасть в неё вы можете через панель управления своего хостинга или с сайта вашего провайдера. Использовать её для создания резервной копии базы данных очень удобно. Но если архив базы данных сайта превысит 2 мегабайта, то это решение для вас работать не будет.

Как работает phpMyAdmin? Для того чтобы войти через браузер в эту программу вам понадобится логин и пароль от вашей базы данных. Вам их должен сообщить провайдер при покупке хостинга для сайта. Когда вы зайдёте в панель управления программой, в левой колонке кликните по названию вашей базы данных, а потом в верхнем меню нажмите на вкладку «Export». Вы должны увидеть картинку аналогичную этой (нажмите на неё, чтобы разглядеть подробнее):

В колонке «Export» вы увидите список таблиц вашей базы данных, которые надо сохранить. Обратите внимание на расстановку галочек и точек на картинке. У вас должно быть аналогичным образом за исключением двух моментов. Обязательно поставьте галочку напротив «Add DROP TABLE», тогда в случае обновления базы данных из сохраненной копии вам не придётся вручную удалять старые таблицы. И в пункте «Compression» выберите «gzipped», тогда вы сможете скачать архив базы данных на компьютер, когда нажмёте кнопку «Go». Как видите нечего сложного нет.

Если ваш сайт развился до такой степени, что архив базы данных стал больше 2 мегабайт, то нужно использовать другой способ архивирования. Хотя это способ является универсальным. Вы можете его использовать в любом случае. В предыдущей заметке мы с вами научились пользоваться клиентом ssh PuTYY. Аналогичным образом, как мы делали копию файлов сайта, заходим на свой хостинг. Но на этот раз в терминале запускаем следующую команду:

/bin/mysqldump –add-drop-table –host=localhost –user=’login’ –password=’password’ $db_name | gzip -c > ../`date ‘+%Y-%m-%d’`.gz

Логин и пароль к базе данных укажите свой, login и password соответсвенно. Также у некоторых провайдеров адрес базы данных localhos может быть другим. Уточните это в службе поддержки. В результате работы этой команды вы получите архив базы данных, в названии которого будет текущее число. Выкачиваем архив аналогичным образом:
pscp vash_login@vash_site.ru:/arhiv.gz c:\kuda_pisat\arhiv.gz

Делайте backup базы данных регулярно одновременно с созданием резервной копии сайта. Если вы хотите заниматься этим как можно реже, то выбирайте надёжный хостинг. Например, «хостинг киев» осуществляет ежедневное резервное копирование сайтов клиентов и всегда поможет вам восстановить базу данных в случае её сбоя.