文档首页 > > 常见问题> 操作类问题> 如何批量导出、导入事件(event)和触发器(trigger)

如何批量导出、导入事件(event)和触发器(trigger)

分享
更新时间: 2019/09/12 GMT+08:00

在进行MySQL到MySQL的迁移时,若任务结束后发现迁移日志中提示迁移事件和触发器失败,可手动迁移。

本小节主要介绍批量导出导入事件和触发器的具体操作。

  1. 从源库批量导出触发器。

    1. 在源库执行以下语句,获取TRIGGER_SCHEMA和TRIGGER_NAME。
      SELECT TRIGGER_SCHEMA,TRIGGER_NAME  FROM INFORMATION_SCHEMA.TRIGGERS WHERE TRIGGER_SCHEMA in ('DB1','DB2','DB3') order by TRIGGER_NAME;

      上述语句中,DB1,DB2,DB3分别表示从源库待迁移到目标库的数据库。

    2. 在源库执行如下语句,从字段SQL Original Statement中获取源库创建触发器的语句。
      SHOW CREATE TRIGGER TRIGGER_SCHEMA.TRIGGER_NAME \G;

      上述语句中,TRIGGER_SCHEMA.TRIGGER_NAME填写的为1.a中查询到的TRIGGER_SCHEMA和TRIGGER_NAME具体值。

  2. 从源库批量导出事件。

    1. 在源库执行以下语句,获取EVENT_SCHEMA和EVENT_NAME。
      SELECT EVENT_SCHEMA,EVENT_NAME  FROM INFORMATION_SCHEMA.EVENTS WHERE EVENT_SCHEMA in ('DB1','DB2','DB3') order by EVENT_NAME;

      上述语句中,DB1,DB2,DB3分别表示从源库待迁移到目标库的数据库。

    2. 在源库执行如下语句,从字段SQL Original Statement中获取源库创建事件的语句。
      SHOW CREATE EVENT EVENT_SCHEMA.EVENT_NAME \G;

      上述语句中,EVENT_SCHEMA.EVENT_NAME填写的为2.a中查询到的EVENT_SCHEMA和EVENT_NAME具体值。

  3. 导入触发器和事件。

    在目标库重新执行从源库导出的创建触发器和创建事件语句。

分享:

文档是否有解决您的问题?

提交成功!

非常感谢您的反馈,我们会继续努力做到更好!

反馈提交失败,请稍后再试!

*必选

请至少选择或填写一项反馈信息

字符长度不能超过200

提交反馈 取消

如您有其它疑问,您也可以通过华为云社区问答频道来与我们联系探讨

跳转到云社区