我正在定期转储使用数据库进行日志记录的数据库。我需要创建一个mysqldump
命令来转储数据库中的所有内容,但不包括日志表的行信息。
我看到了no-data
parameter,但这似乎不支持只选择某些表。
我正在定期转储使用数据库进行日志记录的数据库。我需要创建一个mysqldump
命令来转储数据库中的所有内容,但不包括日志表的行信息。
我看到了no-data
parameter,但这似乎不支持只选择某些表。
你可以结合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
运行 2 个命令。一种是列出要完整转储的所有表,另一种是仅转储表定义
#structure only
mysqldump -d -q mydb table1 table2 table3
#all data too
mysqldump -q mydb table4 table5 table6