如何排除某些表的数据但保留mysqldump的结构?

时间:2011-01-28 19:44:49

标签: mysql mysqldump database-backups

我正在定期转储使用数据库进行日志记录的数据库。我需要创建一个mysqldump命令来转储数据库中的所有内容,但不包括日志表的行信息。

我看到the no-data parameter,但这似乎不支持仅选择某些表格。

2 个答案:

答案 0 :(得分:8)

运行2个命令。您可以在其中列出要完全转储的所有表,一个只转储表定义的表

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

#all data too
mysqldump -q mydb table4 table5 table6

答案 1 :(得分:8)

你可以结合shell脚本来帮助更好地

#/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