it-swarm.com.de

Mysqldump Drop-Tabelle hinzufügen?

Ich bemerke im Codex, dass die Option --add-drop-table zum Sichern einer Datenbank angezeigt wird. Bedeutet das, bevor ich irgendetwas vermassle, nur, dass beim endgültigen Import der Sicherung die Tabellen überschrieben werden, wenn sie in der Ziel-Datenbank vorhanden sind?

Ich möchte die Tabellen nicht fallen lassen, wenn ich sie sichere!

[email protected]:~/files/blog> mysqldump --add-drop-table -h mysqlhostserver
 -u mysqlusername -p databasename (tablename tablename tablename) | bzip2
 -c > blog.bak.sql.bz2

Enter password: (enter your mysql password)
[email protected]~/files/blog>

http://codex.wordpress.org/Backing_Up_Your_Database#Using_Straight_MySQL_Commands

9
AlxVallejo

Es wirkt sich nur auf die Ausgabe Ihres MySQL-Dumps in der erstellten Datei aus.

Das ist nicht nötig. Wenn Sie die erstellte Speicherauszugsdatei in eine Datenbank importieren, die bereits eine Tabelle mit demselben Namen enthält, wird diese Tabelle gelöscht und die neue Tabelle an ihrer Stelle hinzugefügt. Andernfalls erhalten Sie eine Fehlermeldung und die Sicherungsdatei wird nicht importiert.

Diese Zeile wird vor der Anweisung create table in der Dump-Datei hinzugefügt:

DROP TABLE IF EXISTS `tablename`;

Wenn Sie die Speicherauszugsdatei in eine neue Datenbank importieren möchten, spielt dies keine Rolle.

7
Jake

Das liegt daran, dass die Gesamtsyntax ungefähr so ​​lautet:

mysql>mysqldump --opt --all-databses > all.sql

--opt ist standardmäßig aktiviert (was impliziert: --add-drop-table), wie in der MySQL-Dokumentation erwähnt.

5
user2063478

Wenn Sie --add-drop-table in dieser Syntax entfernen, wird --add-drop-table trotzdem verwendet, da --opt die Standardeinstellung ist (es sei denn, Sie verwenden --skip-opt) und --opt --add-drop enthält -Tabelle. Siehe hier: https://dev.mysql.com/doc/refman/5.6/de/mysqldump.html#option_mysqldump_opt

Und wie oben erwähnt, bedeutet dies nicht, dass Ihre Tabellen beim Sichern gelöscht werden, sondern dass die Befehle zum Löschen von Tabellen in der SQL-Datei enthalten sind, da dies für einen Speicherauszug gewünscht ist, sodass Sie den Speicherauszug importieren können, ohne ihn abzurufen Fehler, dass die Tabellen bereits vorhanden sind.

0
Markus