Современные решения ИТ задач и программной инженерии

Как сделать дамп базы данных средствами MySQL сервера?

09.07.2015 в разделах Базы данныхАдминистрированиес тегами mysqlsshfreebsd
Как сделать дамп базы данных средствами MySQL сервера?
Бывают такие моменты, что нужно сделать дамп базы данных средствами самого MySQL сервера. На большинстве хостингах есть PhpMyAdmin, в котором можно очень легко сделать экспорт базы данных (дамп). Но бывает так что средствами PhpMyAdmin невозможно сделать "хороший" дамп. Это связано с тем что PhpMyAdmin работает на PHP и допускает ошибки при формировании строк, например для данных типа BLOB.

Лучшего дампа чем дамп средствами самого MySQL не сделать. Конечно же для этого нужно что бы был доступ к консоле, например по SSH. Это даже ускоряет процесс создания дампа. Кстати, если у вас база данных больше 1 гигабайта, то никакой вам PhpMyAdmin не сделает дамп. Это связано с ограничениями в PHP.

Припустим у вас есть доступ к серверу по SSH. Логин базы данных: root, пароль: test, база данных: baza. Тогда команда для дампа будет выглядеть так:

mysqldump -uroot --password=test --opt baza >dump.sql

После этого в текущей директории в файле dump.sql будет вся экспортированная база данных baza. Что бы узнать в какой директории мы сейчас находимся, следует выполнить команду pwd и в консоль будет отображен полный путь к каталогу, где мы сейчас находимся.

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