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

发布于 2024-10-14 23:25:21 字数 232 浏览 7 评论 0原文

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

我看到无数据参数,但这似乎不支持仅选择某些表。

I'm doing a regular dump of a database that uses the database for logging. I need to create a mysqldump command that dumps everything from the database but excludes the row information for the log tables.

I see the no-data parameter, but that doesn't seem to support selecting only certain tables.

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(2

镜花水月 2024-10-21 23:25:21

你可以结合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

you can combine with shell script to help better

#/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
要走就滚别墨迹 2024-10-21 23:25:21

运行 2 个命令。一种是列出您想要完整转储的所有表,另一种是仅转储表定义

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

#all data too
mysqldump -q mydb table4 table5 table6

Run 2 commands. One where you list all tables that you want a full dump of, one where you dump only the table definition

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

#all data too
mysqldump -q mydb table4 table5 table6
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文