Утилита mysqldump позволяет получить дамп содержимого базы данных или совокупности баз для создания резервной копии или пересылки данных на другой SQL-сервер (не обязательно MySQL-сервер). Дамп будет содержать набор команд SQL для создания и/или заполнения таблиц. Так же mysqldump имеет возможность развертывания баз данных из созданного sql-файла. Создание дампа Разберем пример простейшее использования, задампим базу данных «database» при помощи перенаправления потока в файл «database.sql»: Code
mysqldump -uroot -h82.82.82.82 -p database > database.sql
* -u или -–user=... — имя пользователя * -h или --host=... — удаленный хост (для локального хоста можно опустить этот параметр) * -p или --password — запросить пароль * database — имя базы данных * database.sql — файл для дампа Для того чтобы сделать дамп несколько баз данных, необходимо использовать параметр --databases (или сокращенно -B), пример: Code
mysqldump -uroot -h82.82.82.82 -p -B database1 database2 database3 > databases.sql
А для того чтобы сделать дамп всех баз данных, необходимо использовать параметр --all-databases (или сокращенно -A), пример: Code
mysqldump -uroot -h82.82.82.82 -p -A > all-databases.sql
Развертывание дампа Перенаправляем поток в обратную сторону и развертываем базу данных: mysql -uroot -h82.82.82.82 -p database < database.sql Или через mysql-console: Code mysql> use database; mysql> source database.sql Пример использование некоторых параметров Например, нам нужны данные с «продакшен версии базы» для «версии разработчика», то есть нам нужна «песочница». Выбираем не более 100 записей: Code mysqldump -uroot -h82.82.82.82 -p --where="true limit 100" database > database.sql Или нам нужна только структура, без данных: Code mysqldump -uroot -h82.82.82.82 -p --no-data database > database.sql
|