Если вы храните что-нибудь в базе данных MySQL и не хотите ничего потерять, то важно делать регулярные бекапы вашего сайта. В этой статье вы можете прочитать про то как сделать бекап MySQL базы и восстановить его через консоль. Вы также можете использовать эти команды, чтобы перенести данные с одного сервера на другой:
Создание бекапа из командной строки, используя mysqldump
Создание бекапа из командной строки, используя mysqldump
Если у вас есть SSH доступ на сервер, вы можете использовать консоль, чтобы сделать бекап. Для этого вам потребуется использовать команду mysqldump. Эта команда соединяется с MySQL сервером и создает файл с SQL дампом базы. Дамп файл содержит SQL запросы, которые необходимы, чтобы создать полную копию вашей базы данных. Вот синтакс этой комманды:
$ mysqldump -u [uname] -p[pass] [dbname] > [backupfile.sql]
[uname] - Имя пользователя вашего сервера MySQL
[pass] - Пароль пользователя вашего сервера MySQL
[dbname] - Имя базы данных с которой вы делаете дамп
[backupfile.sql] - Имя файла куда вы хотите положить дамп, желательно с расширением .sql, чтобы было понятно какой это файл.
Например, чтобы сделать бекап для пользователя root и базы данных drupalbook:
$ mysqldump -u root -p drupalbook > backup170131.sql
Сразу хочу заметить два момента, пароль можно указывать сразу в аргументе -p, если вы делаете это локально, например, mysql -u root -proot. Но делать это на живом сервере это не стоит, потому что пароль будет сохраняться в логе команд history. Второй момент, когда делаете бекап, то указывайте в имени файла дату, тогда вам проще будет знать за какое время это бекап.
Создание файла бекапа со сжатием
Файлы SQL занимают очень много места, но так как это обычный текст то он очень хорошо сжимается. Обычно файлы SQL сжимаются в 25-30 раз. Для сжатия в командной строке мы будем использовать консольное приложение gzip.
$ mysqldump -u [uname] -p[pass] [dbname] | gzip -9 > [backupfile.sql.gz]
Заметьте, что расширения дампа теперь .sql.gz. Это важно потому что например PhpMyAdmin именно по этому расширению понимает формат дампа. Опять же повторюсь, что для удобства пишите дату в название файла дампа:
$ mysqldump -u root -p drupalbook | gzip -9 > drupalbook170131.sql.gz
-9 в этой команде обозначает степень сжатия.
Восстановление базы данных из дампа
Чтобы восстановить базу данных из SQL файла используйте эту команду mysql:
$ mysql -u [uname] -p[pass] [db_to_restore] < [backupfile.sql]
Для того чтобы восстановить базу данных из архива, используйте эту команду mysql, совместно с командой gunzip:
$ gunzip < [backupfile.sql.gz] | mysql -u [uname] -p[pass] [dbname]
Также как и при создании дампа, здесь можно не указывать пароль прямо в команде, а писать просто -p, чтобы ввести пароль отдельно:
$ gunzip < drupalbook170131.sql.gz | mysql -u root -p drupalbook
Комментарии
Добавить комментарий
То что нужно, пускай и с
То что нужно, пускай и с запозданием для меня)