Standardmäßig mysqldump
erstellt immer CREATE DATABASE IF NOT EXISTS db_name;
-Anweisung am Anfang der Dump-Datei.
[BEARBEITEN ] Ein paar Dinge über mysqldump
Datei und ihre Optionen:
--all-databases
, -A
Sichern Sie alle Tabellen in allen Datenbanken. Dies ist dasselbe wie die Verwendung von --databases
Option und Benennen aller Datenbanken auf der Befehlszeile.
--add-drop-database
Fügen Sie eine DROP DATABASE
hinzu -Anweisung vor jedem CREATE DATABASE
Erklärung. Diese Option wird normalerweise in Verbindung mit --all-databases
verwendet oder --databases
Option, weil kein CREATE DATABASE
Anweisungen werden geschrieben, es sei denn, eine dieser Optionen ist angegeben.
--databases
, -B
Dump mehrere Datenbanken. Normalerweise mysqldump
behandelt das erste Namensargument in der Befehlszeile als Datenbanknamen und die folgenden Namen als Tabellennamen. Mit dieser Option werden alle Namensargumente als Datenbanknamen behandelt. CREATE DATABASE
und USE
-Anweisungen werden vor jeder neuen Datenbank in die Ausgabe aufgenommen.
--no-create-db
, -n
Diese Option unterdrückt das CREATE DATABASE
Anweisungen, die ansonsten in der Ausgabe enthalten sind, wenn die --databases
oder --all-databases
Option ist gegeben.
Vor einiger Zeit gab es eine ähnliche Frage, ob eine solche Anweisung am Anfang der Datei (für XML-Dateien) nicht vorhanden ist. Der Link zu dieser Frage ist hier .
Um Ihre Frage zu beantworten:
- Wenn Sie eine Datenbank zum Sichern haben, sollten Sie die
--add-drop-database
haben Option in Ihremmysqldump
Aussage. - Wenn Sie mehrere Datenbanken zum Sichern haben, sollten Sie die Option
--databases
verwenden oder--all-databases
undCREATE DATABASE
Syntax wird automatisch hinzugefügt
Weitere Informationen finden Sie im MySQL-Referenzhandbuch