Маленькая шпаргалка для создания дампа вашей базы данных MySQL через SSH или наоборот восстановления из резервной копии. Напрямую связанно с предыдущим материалом Ремонт и восстановление базы MySQL по SSH. Просто вопросы возникают, проще один раз сделать шпаргалочку чем каждый раз отвечать.
Итак. Подключаемся по SSH к нашему серверу. И в командной строке набираем нужную нам команду. А команды будут такими...
Чтобы создать бекап базы MySQL (экспортировать базу данных) набираем
mysqldump -u пользователь_БД -p имя_БД > имя_файла
К примеру есть у нас база сайта про коллекционные фантики fantik. Владельцем базы прописан vasia. И сохранить мы хотим в файл fantik_2015.sql. Значит набираем mysqldump -u vasia -p fantik > fantik_2015.sql Значок > показывает что мы вывод программы направляем в файл с именем fantik_2015.sql. Как видите все просто. Набрали, нажали Enter и на экран вылезет предложение ввести пароль от базы. Вводите и программка начинает работать, если база большая, то это может занять некоторое время.
Можно добавить всякие дополнительные ключи, например сразу прописать пароль и тогда если у вас пароль типа 4Gvx9tRa, то команда примет вот такой вид mysqldump -u vasia -p4Gvx9tRa fantik > fantik_2015.sql. Заметьте, что после ключа -p пароль идет сразу, без пробела.
Если требуется положить дамп сразу куда-то в определенное место, то можно еще усложнить команду и прописать в ней желаемый путь:
mysqldump -u vasia -p4Gvx9tRa fantik > /home/vasia/data/backup/fantik_2015.sql
Часто размер дампа базы получается весьма и весьма немаленький. Поскольку дамп базы это обычный текстовый файл, то он хорошо архивируется, что позволяет уменьшить его размер в разы, а это сильно облегчает дальнейшее выкачивание. Для архивации можно набрать tar -zcvf имя_архива архивируемая_папка(или файл). В нашем случае это будет
tar -zcvf fantik.tar.gz fantik_2015.sql
Распаковать обратно почти такой же командой
tar -xzvf fantik.tar.gz fantik_2015.sql
- «c» — значит, что создается новый архив;
- «x» — распаковывается имеющийся архив;
- «f» — посредством этого флага задается имя создаваемого архива;
- «z» — архивация будет происходить посредством архиватора gzip;
- «v» — в консоль будет выводиться информация о процессе архивации.
При желании можно опять же усложнить нашу исходную команду совместив создание дампа с его архивацией. Тогда строка станет выглядеть примерно так:
mysqldump -u vasia -p4Gvx9tRa fantik | tar -zcvf > /home/vasia/data/backup/fantik_2015.tar.gz
Если вам категорически не нравится архиватор tar, то можете воспользоваться более привычным zip. Тогда строка будет выглядеть так:
zip fantik.zip fantik_2015.sql
Для распаковки надо будет набрать
unzip fantik.zip
Обратный процесс (импорт базы данных MySQL) производится с помощью вот такой команды:
mysql -u пользователь_БД -p имя_БД < файл_дампа_БД
В нашем случае это будет выглядеть так:
mysql -u vasia -p4Gvx9tRa fantik < fantik_2015.sql
Как видите ничего особо сложного. Можно заранее подготовить для себя "шпаргалки" с нужной командной строкой и хранить где нибудь в текстовой файлике. Главное чтобы содержимое файлика не попало к злым хакерам, иначе будет очень весело.