Mysqldump aggiungi la tabella a discesa?


10

Nel Codex noto che l'opzione --add-drop-table viene visualizzata per il backup di un database. Prima di rovinare qualcosa, significa solo che quando il backup viene infine importato, le tabelle sovrascriveranno se esistono nel db di destinazione?

Non voglio abbandonare i tavoli quando eseguo il backup!

user@linux:~/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)
user@linux~/files/blog>

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

Risposte:


10

Influisce solo sull'output del dump di MySQL nel file creato.

Non è necessario È proprio lì che se si importa il file di dump creato in un database che ha già una tabella con lo stesso nome, eliminerà quella tabella e quindi aggiungerà la nuova tabella al suo posto. In caso contrario, verrà visualizzato un errore e il file di dump non verrà importato.

Aggiunge questa riga prima dell'istruzione create table nel file di dump:

DROP TABLE IF EXISTS `tablename`;

Se si prevede di importare il file di dump in un nuovo database, non importa.


Sai che cosa è interessante è che anche se uso il dump senza l'opzione Aggiungi tabella di discesa su un database WP esistente, funziona anche bene.
AlxVallejo,

5

Questo perché la sintassi generale è simile a:

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

--optè abilitato di default (il che implica:) --add-drop-tablecome indicato nella documentazione di MySQL.


0

Quando si rimuove --add-drop-table in questa sintassi, --add-drop-table viene comunque utilizzato, perché --opt è predefinito (a meno che non si usi --skip-opt) e --opt include --add-drop -tavolo. Vedi qui: https://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#option_mysqldump_opt

E, come detto sopra, non significa che le tue tabelle vengano eliminate durante il backup, ma che i comandi per eliminare le tabelle siano inclusi nel file sql, perché è quello che vuoi per un dump, quindi puoi importare il dump senza ottenere errori che le tabelle già esistono.

Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.