Утилита mysqldump позволяет получить дамп содержимого базы данных или совокупности баз для создания резервной копии или пересылки данных на другой SQL-сервер (не обязательно MySQL-сервер). Дамп будет содержать набор команд SQL для создания и/или заполнения таблиц.
Так же mysqldump имеет возможность развертывания баз данных из созданного sql-файла.
Пример использования mysqldump для создания дампа базы данных «database» при помощи перенаправления потока в файл «database.sql»:
mysqldump -uroot -hlocalhost -p database > database.sql
-u или --user=... — имя пользователя
-h или --host=... — удаленный хост (для локального хоста можно опустить этот параметр)
-p или --password — запросить пароль
database — имя базы данных
database.sql — файл для дампа
Для того чтобы сделать дамп несколько баз данных, необходимо использовать параметр --databases (или сокращенно -B), пример:
mysqldump -uroot -hlocalhost -p -B database1 database2 database3 > databases.sql
А для того чтобы сделать дамп всех баз данных, необходимо использовать параметр --all-databases (или сокращенно -A), пример:
mysqldump -uroot -hlocalhost -p -A > all-databases.sql
Для того, чтобы развернуть дамп, перенаправляем поток в обратную сторону и развертываем базу данных:
mysql -uroot -hlocalhost -p database < database.sql
Или через mysql-console:
mysql> use database;
mysql> source database.sql