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

时间:2011-04-03 15:36:09

标签: mysql sql triggers mysqldump

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

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

由于

阿卜杜勒毛拉

2 个答案:

答案 0 :(得分:0)

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

答案 1 :(得分:0)

我看到触发器已保存到包含--tab--triggers的各个表格文件中。

但是对于例程,我可以确认这些被抛出到stdout。 这同样适用于--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是否也会自动接收这些导出的例程。