Mysql
 sql >> Datenbank >  >> RDS >> Mysql

mysqldump mit create database line

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 Ihrem mysqldump Aussage.
  • Wenn Sie mehrere Datenbanken zum Sichern haben, sollten Sie die Option--databases verwenden oder --all-databases und CREATE DATABASE Syntax wird automatisch hinzugefügt

Weitere Informationen finden Sie im MySQL-Referenzhandbuch