如何使用 mysqldump 和 --tab 选项转储例程和触发器?

发布于 2024-10-29 22:41:08 字数 268 浏览 1 评论 0原文

当我在没有 --tab 选项的情况下使用 mysqldump 时,我可以转储例程(通过 --routines 选项)和触发器(通过默认启用的 --triggers),但是当尝试使用 --tab 来获得速度优势时,我无法即使指定两个选项(--routines 和 --triggers),也不会转储例程和触发器,而是在我用来执行命令的终端中找到了用于创建触发器和存储过程的 SQL。

如何使用 mysqldump 中的 --tab 选项转储例程和触发器?

谢谢

阿卜杜勒-毛拉

When I was using mysqldump without --tab option I could dump routines (by --routines option) and triggers (by --triggers that enabled by default), but when trying to use --tab to get its benefit of speed I couldn't dump neither routines nor triggers even when specifying the two options (--routines and --triggers) but instead I found the SQL for triggers and stored procedures creation in the terminal I'm using to execute the command.

How can I dump routines and triggers using the --tab option in mysqldump ?

Thanks

Abdel-Mawla

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

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

发布评论

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

评论(2

鹤仙姿 2024-11-05 22:41:08

您可以采取的一种方法是拆分 mysqldump 脚本,首先使用 --tab 转储表,然后通过单独的 mysqldump 调用(不带 --tab)转储例程。

One approach you could take is to split your mysqldump script to first dump the tables using --tab, and then dump the routines through a separate mysqldump call (without --tab).

笨笨の傻瓜 2024-11-05 22:41:08

我看到触发器使用 --tab--triggers 保存到各个表文件中。

但对于例程,我可以确认它们被抛出到标准输出。
这同样适用于 --events
我能想到的是:

mysqldump --tab='/path/to/output/dbName' --triggers --routines --events dbName > /path/to/output/dbName/_events.and.routines.sql

因为当例程被扔到标准输出时,>可以把它放入一个文件中。

现在,在 /path/to/output/dbName 中,我将有一个名为 _events.and.routines.sql 的额外文件,其中包含例程和事件。

我只是不知道 mysqlimport 是否也会自动接收这些导出的例程。

I see the triggers are saved to the individual table files with --tab and --triggers.

But for the routines, I can confirm that these are thrown out to stdout.
The same applies for --events
All I could think of is:

mysqldump --tab='/path/to/output/dbName' --triggers --routines --events dbName > /path/to/output/dbName/_events.and.routines.sql

Because when the routines are thrown to the stdout, the > can put it into a file.

So now in /path/to/output/dbName I will have an extra file called _events.and.routines.sql, containing the routines and events.

I just don't know if mysqlimport will also take in these exported routines automatically.

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