2011-01-28 9 views
9

Estoy haciendo un volcado regular de una base de datos que usa la base de datos para el registro. Necesito crear un comando mysqldump que vuelque todo de la base de datos pero excluya la información de la fila para las tablas de registro.¿Cómo puedo excluir datos para ciertas tablas pero mantener la estructura con mysqldump?

Veo the no-data parameter, pero eso no parece ser compatible con la selección de ciertas tablas.

+0

en Linux o Windows? – ajreal

+1

@ajreal Linux. ¿Eso importa? – mattalxndr

Respuesta

8

Ejecutar 2 comandos. Uno en el que una lista de todas las tablas que desea un volcado completo de, una de las que sólo se vuelca la definición de tabla

#structure only 
mysqldump -d -q mydb table1 table2 table3 

#all data too 
mysqldump -q mydb table4 table5 table6 
7

se puede combinar con guión que ayuda mejor

#/bin/bash 

# dump all except for table log 
tables=$(mysql -N <<< "show tables from your_db" | grep -Ev "^log$" | xargs); 
mysqldump your_db $tables > backup.sql 

# dump structure for table log 
mysqldump -d your_db log >> backup.sql 
Cuestiones relacionadas