Дамп базы MySQL

Такс, бывают моменты, когда…

Нужно, к примеру, перенести базу с тестового сервера на рабочий, но вот незадача, объем файла превышает дозволенный лимит загружаемого в phpMyadmin. Но чудо! У нас есть доступ к консоли (SSH) и к нам на выручку спешит утилита mysqldump. Итак начнем.

Создание дампа

Дамп нужной базы

mysqldump -uroot -h192.168.1.1 -p database > database.sql

Дамп нескольких баз

mysqldump -uroot -h192.168.1.1 -p -B database1 database2 database3 > databases.sql

Дамп всех баз

mysqldump -uroot -h192.168.1.1 -p -A > all-databases.sql

Дамп в архив

mysqldump -uroot -h192.168.1.1 -p database | gzip > database.sql.gz

Дамп структуры без данных

mysqldump -uroot -h192.168.1.1 -p --no-data database > database.sql

где:
-u — имя пользователя;
-h — удаленный хост (для локального хоста можно опустить этот параметр либо localhost);
-p — запросить пароль;
-B — параметр позволяет указать имена нескольких баз данных, для которых необходимо создать дамп;
--all-databases — параметр означает, что нужно сохранить все таблицы из всех баз данных, которые находятся на данном сервере;
--no-data — создание дампа структуры базы данных без самих данных;
database — имя базы данных;
database.sql — файл для дампа.

Развернуть/залить дамп

mysql -uroot -h192.168.1.1 -p database < database.sql

Развернуть из архива

zcat database.sql.gz | mysql -uroot -h192.168.1.1 -p database

Используя mysql-console

mysql
mysql> use database;
mysql> source database.sql

Оставьте комментарий