mysqldump
sempre cria o CREATE DATABASE IF NOT EXISTS db_name;
instrução no início do arquivo de despejo.[EDITAR ] Algumas coisas sobre o
mysqldump
arquivo e suas opções:--all-databases
, -A
Despeje todas as tabelas em todos os bancos de dados. Isso é o mesmo que usar o
--databases
opção e nomear todos os bancos de dados na linha de comando. --add-drop-database
Adicione um
DROP DATABASE
instrução antes de cada CREATE DATABASE
demonstração. Esta opção é normalmente usada em conjunto com o --all-databases
ou --databases
opção porque não há CREATE DATABASE
instruções são escritas a menos que uma dessas opções seja especificada. --databases
, -B
Despeje vários bancos de dados. Normalmente,
mysqldump
trata o argumento do primeiro nome na linha de comando como um nome de banco de dados e os nomes seguintes como nomes de tabela. Com esta opção, trata todos os argumentos de nome como nomes de banco de dados. CREATE DATABASE
e USE
instruções são incluídas na saída antes de cada novo banco de dados. --no-create-db
, -n
Esta opção suprime o
CREATE DATABASE
instruções que são incluídas na saída se o --databases
ou --all-databases
opção é dada. Algum tempo atrás, havia uma pergunta semelhante realmente perguntando sobre não ter essa declaração no início do arquivo (para arquivo XML). Link para essa pergunta está aqui .
Então respondendo sua pergunta:
- se você tiver um banco de dados para despejar, deverá ter o
--add-drop-database
opção em seumysqldump
declaração. - se você tiver vários bancos de dados para despejar, use a opção
--databases
ou--all-databases
e oCREATE DATABASE
a sintaxe será adicionada automaticamente
Mais informações em Manual de referência do MySQL