Mysql
 sql >> Base de données >  >> RDS >> Mysql

mysqldump avec la ligne de création de base de données

Par défaut mysqldump crée toujours le CREATE DATABASE IF NOT EXISTS db_name; déclaration au début du fichier de vidage.

[MODIFIER ] Quelques informations sur mysqldump fichier et ses options :

--all-databases , -A

Vider toutes les tables de toutes les bases de données. C'est la même chose que d'utiliser le --databases option et en nommant toutes les bases de données sur la ligne de commande.

--add-drop-database

Ajouter une DROP DATABASE instruction avant chaque CREATE DATABASE déclaration. Cette option est généralement utilisée conjointement avec --all-databases ou --databases option car pas de CREATE DATABASE les instructions sont écrites sauf si l'une de ces options est spécifiée.

--databases , -B

Vider plusieurs bases de données. Normalement, mysqldump traite le premier argument de nom sur la ligne de commande comme un nom de base de données et les noms suivants comme des noms de table. Avec cette option, il traite tous les arguments de nom comme des noms de base de données. CREATE DATABASE et USE les instructions sont incluses dans la sortie avant chaque nouvelle base de données.

--no-create-db , -n

Cette option supprime le CREATE DATABASE instructions qui sont autrement incluses dans la sortie si le --databases ou --all-databases l'option est donnée.

Il y a quelque temps, il y avait une question similaire demandant en fait de ne pas avoir une telle déclaration au début du fichier (pour le fichier XML). Le lien vers cette question est ici .

Alors pour répondre à ta question :

  • si vous avez une base de données à vider, vous devriez avoir la --add-drop-database option dans votre mysqldump déclaration.
  • si vous avez plusieurs bases de données à vider, vous devez utiliser l'option--databases ou --all-databases et le CREATE DATABASE la syntaxe sera ajoutée automatiquement

Plus d'informations sur Manuel de référence MySQL