如何使用 mysqldump 和 --tab 选项转储例程和触发器?
当我在没有 --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 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(2)
您可以采取的一种方法是拆分 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).
我看到触发器使用
--tab
和--triggers
保存到各个表文件中。但对于例程,我可以确认它们被抛出到标准输出。
这同样适用于 --events
我能想到的是:
因为当例程被扔到标准输出时,>可以把它放入一个文件中。
现在,在 /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:
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.