Думаю не нужно рассказывать о необходимости резервного копирования (BackUp-а) баз данных. Нам мой взгляд, самый простой способ сделать это использование консоли Linux. Тем более, что в последствии команды о которых я расскажу можно использовать для автоматизации процесса резервного копирования BD. Итак приступим. В рамках данного повествования нам потребуются две команды: mysqldump и mysql. Первая отвечает за сохранение BD, а вторая за её восстановление из резервной копии. Теперь разберём по порядку и более подробно. Общий синтаксис первой команды:
mysqldump -u <пользователь> -p<пароль> -h <имя сервера> <имя BD> > FileBD.sql
Жирным я выделил те места которые необходимо заполнить самому. Теперь расшифруем значение ключей:
- Ключ -u <пользователь> он содержит имя пользователя для доступа к BD. Надо заметить, что у каждой базы данных есть набор пользователей которым разрешён доступ к ней и более никому. Обычно у хостинг провайдеров этот список (а подчас один единственный пользователь) задаётся в панели управления хостингом.
- Ключ -p<пароль> — это не что иное как пароль пользователя о котором я упомянул в предыдущем ключе.
Важно: в этом ключе между надписью -p и самим паролем пробел отсутствует, а во всех остальных ключах он есть.
Примечание: так же в этом ключе можно оставить пустое значение и тогда пароль доступа к BD будет запрошен во время выполнения. - Ключ -h <имя сервера> — это имя сервера BD. Точнее сказать его сетевое имя. То самое по которому ваш сайт обращается к нему. Например: в конфигурационном файле Joomla — это строка public $host = ‘имя’, а в таком же файле WordPress — это define(‘DB_HOST’, ‘имя’).
Примечание: если же ваш сервер MySQL находятся на одном сервере (а в случае Web-хостинга обычно так и бывает), то вместо <имя сервера> можно писать localhost, а ещё лучше не использовать данный ключ т.е. не писать его вообще. - Дальше идёт <имя BD> — это то самое имя по которому ваш сайт обращается к базе данных. По аналогии с предыдущем пунктом примеры будут такими: Joomla — public $db = ‘имя’, а для WordPress — define(‘DB_NAME’, ‘имя’).
Важно: употребление этого ключа обязательно. - Дальше идёт символ ‘>’, он означает, что результаты выполнения данной команды будут записаны в файл указанный дальше, причём файл будет перезаписан.
Примечание: если вы хотите чтобы файл не перезаписывался, а результаты добавлялись в его конец то используйте двойной знак больше («>>»), но такая конструкция в случае с этой командой будет не правильной и в конечном итоге приведёт к тому что сделанный вами BackUp будет не жизнеспособным. - FileBD.sql — это просто имя файла в который будет сохранена ваша база данных.
Теперь перейдём к команде восстановления сохранённой BD. Её синтаксис выглядит так:
mysql -u <пользовател> -p<пароль> -h <имя сервера><имя BD> < FileBD.sql
Здесь всё аналогично только что описанной команде сохранения BD. Есть только одно «но» касающееся пункта 5 предыдущего описания. В этой команде использован символ меньше («<«) который означает, что содержимое файла FileBD.sql будет использовано данной командой как источник данных.
Собственно это всё что я хотел рассказать по теме консольного сохранения и восстановления баз данных. В следующих статьях я расскажу как при помощи описанных команд автоматизировать эти процессы.