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

mat*_*ndr 9 mysql mysqldump database-backups

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

我看到no-data参数,但是这似乎并不支持只选择某些表.

ajr*_*eal 9

你可以结合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
Run Code Online (Sandbox Code Playgroud)


nos*_*nos 8

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

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

#all data too
mysqldump -q mydb table4 table5 table6
Run Code Online (Sandbox Code Playgroud)