Spec-Zone .ru
спецификации, руководства, описания, API
|
Этот раздел описывает, как использовать 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
операторы. У этого есть несколько импликаций:
Когда Вы перезагружаете файл дампа, следует определить имя базы данных значения по умолчанию так, чтобы сервер знал который база данных перезагрузить.
Для того, чтобы перезагрузить, можно определить имя базы данных, отличающееся от настоящего имени, которое позволяет Вам перезагрузить данные в различную базу данных.
Если база данных, которая будет перезагружена, не существует, следует создать ее сначала.
Поскольку вывод будет содержать нет CREATE DATABASE
оператор, --add-drop-database
опция не имеет никакого эффекта. Если Вы используете
это, это производит нет DROP
DATABASE
оператор.
Чтобы вывести только определенные таблицы от базы данных, назовите их на командной строке после имени базы данных:
shell> mysqldump test t1 t3 t7 >
dump.sql