По подразбиране mysqldump
винаги създава CREATE DATABASE IF NOT EXISTS db_name;
изявление в началото на дъмп файла.
[РЕДАКТИРАНЕ ] Няколко неща за mysqldump
файл и неговите опции:
--all-databases
, -A
Изсипете всички таблици във всички бази данни. Това е същото като използването на --databases
опция и именуване на всички бази данни в командния ред.
--add-drop-database
Добавете DROP DATABASE
оператор преди всеки CREATE DATABASE
изявление. Тази опция обикновено се използва във връзка с --all-databases
или --databases
опция, защото няма CREATE DATABASE
операторите се записват, освен ако не е посочена една от тези опции.
--databases
, -B
Изсипете няколко бази данни. Обикновено mysqldump
третира първия аргумент за име в командния ред като име на база данни и следващите имена като имена на таблици. С тази опция тя третира всички аргументи за имена като имена на база данни. CREATE DATABASE
и USE
операторите се включват в изхода преди всяка нова база данни.
--no-create-db
, -n
Тази опция потиска CREATE DATABASE
изрази, които иначе са включени в изхода, ако --databases
или --all-databases
е дадена опция.
Преди време имаше подобен въпрос, който всъщност питаше дали няма такова изявление в началото на файла (за XML файл). Връзката към този въпрос е тук .
И така, за да отговоря на въпроса ви:
- ако имате една база данни за изхвърляне, трябва да имате
--add-drop-database
опция във вашияmysqldump
изявление. - ако имате няколко бази данни за изхвърляне, трябва да използвате опцията
--databases
или--all-databases
иCREATE DATABASE
синтаксисът ще бъде добавен автоматично
Повече информация в Справочно ръководство за MySQL