Spec-Zone .ru
спецификации, руководства, описания, API

7.4.1. Дамп Данных в Формате SQL с mysqldump

Этот раздел описывает, как использовать mysqldump, чтобы создать файлы дампа формата SQL. Для получения информации о перезагрузке таких файлов дампа см. Раздел 7.4.2, "Перезагружая Резервные копии Формата SQL".

По умолчанию mysqldump пишет информацию как SQL-операторы к стандартному выводу. Можно сохранить вывод в файле:

shell> mysqldump [arguments]
        > file_name

Чтобы вывести все базы данных, вызовите mysqldump с --all-databases опция:

shell> mysqldump --all-databases > dump.sql

Чтобы вывести только определенные базы данных, назовите их на командной строке и используйте --databases опция:

shell> mysqldump --databases db1 db2 db3 >
        dump.sql

--databases опция заставляет все имена на командной строке быть обработанными как имена базы данных. Без этой опции mysqldump обрабатывает имя как имя базы данных и тех после как имена таблиц.

С --all-databases или --databases, записи mysqldump CREATE DATABASE и USE операторы до дампа выводятся для каждой базы данных. Это гарантирует, что, когда файл дампа перезагружается, он создает каждую базу данных, если он не существует и делает это базой данных значения по умолчанию, таким образом, содержание базы данных загружается в ту же самую базу данных, из которой они происходили. Если Вы хотите заставить файл дампа вызывать отбрасывание каждой базы данных прежде, чем воссоздать это, используйте --add-drop-database опция также. В этом случае mysqldump пишет a DROP DATABASE оператор, предшествующий каждому CREATE DATABASE оператор.

Чтобы вывести единственную базу данных, назовите это на командной строке:

shell> mysqldump --databases test >
        dump.sql

В случае единственной базы данных допустимо опустить --databases опция:

shell> mysqldump test >
        dump.sql

Различие между двумя предыдущими командами - это без --databases, вывод дампа содержит нет CREATE DATABASE или USE операторы. У этого есть несколько импликаций:

Чтобы вывести только определенные таблицы от базы данных, назовите их на командной строке после имени базы данных:

shell> mysqldump test t1 t3 t7 >
        dump.sql