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 votremysqldump
déclaration. - si vous avez plusieurs bases de données à vider, vous devez utiliser l'option
--databases
ou--all-databases
et leCREATE DATABASE
la syntaxe sera ajoutée automatiquement
Plus d'informations sur Manuel de référence MySQL