Mysqldump agregar tabla de caída?

10

Noto en el Codex que la opción --add-drop-table se muestra para hacer una copia de seguridad de una base de datos. Antes de arruinar algo, ¿significa esto que cuando la copia de seguridad se importe, las tablas se sobrescribirán si existen en la base de datos de destino?

¡No quiero dejar caer las mesas cuando las respaldo!

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

AlxVallejo
fuente

Respuestas:

10

Solo afecta la salida de su volcado de MySQL en el archivo que se crea.

No es necesario Está justo allí para que si importa el archivo de volcado creado a una base de datos que ya tiene una tabla con el mismo nombre, lo descartará y luego agregará la nueva tabla en su lugar. De lo contrario, recibirá un error y el archivo de volcado no se importará.

Agrega esta línea antes de la instrucción de creación de tabla en el archivo de volcado:

DROP TABLE IF EXISTS `tablename`;

Si planea importar el archivo de volcado a una nueva base de datos, no importará.

Jake
fuente
Sabes que lo interesante es que incluso si uso el volcado sin la opción add-drop-table en una base de datos WP existente, también funciona bien.
AlxVallejo
5

Eso es porque la sintaxis general es algo así como:

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

--optestá habilitado de forma predeterminada (lo que implica:) --add-drop-tablecomo se menciona en la documentación de MySQL.

usuario2063478
fuente
0

Al eliminar --add-drop-table en esta sintaxis, --add-drop-table se usa de todos modos, porque --opt es el predeterminado (a menos que use --skip-opt) y --opt incluye --add-drop -mesa. Ver aquí: https://dev.mysql.com/doc/refman/5.6/en/mysqldump.html#option_mysqldump_opt

Y, como se indicó anteriormente, no significa que sus tablas se descarten cuando realiza una copia de seguridad, sino que los comandos para descartar tablas se incluyen en el archivo sql, porque eso es lo que desea para un volcado, por lo que puede importar el volcado sin obtener errores que las tablas ya existen.

Markus
fuente