Mysql
 sql >> Base de Dados >  >> RDS >> Mysql

mysqldump com criar linha de banco de dados


Por padrão 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 seu mysqldump declaração.
  • se você tiver vários bancos de dados para despejar, use a opção--databases ou --all-databases e o CREATE DATABASE a sintaxe será adicionada automaticamente

Mais informações em Manual de referência do MySQL