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-databaseopção em seumysqldumpdeclaração. - se você tiver vários bancos de dados para despejar, use a opção
--databasesou--all-databasese oCREATE DATABASEa sintaxe será adicionada automaticamente
Mais informações em Manual de referência do MySQL