По подразбиране 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