更新时间:2022-08-05 GMT+08:00
如何批量导出、导入事件(event)和触发器(trigger)
在进行MySQL到MySQL的迁移时,若任务结束后发现迁移日志中提示迁移事件和触发器失败,可手动迁移。
本小节主要介绍批量导出导入事件和触发器的具体操作。
- 从源库批量导出触发器。
- 在源库执行以下语句,获取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分别表示从源库待迁移到目标库的数据库。
- 在源库执行如下语句,从字段SQL Original Statement中获取源库创建触发器的语句。
SHOW CREATE TRIGGER TRIGGER_SCHEMA.TRIGGER_NAME \G;
上述语句中,TRIGGER_SCHEMA.TRIGGER_NAME填写的为1.a中查询到的TRIGGER_SCHEMA和TRIGGER_NAME具体值。
- 在源库执行以下语句,获取TRIGGER_SCHEMA和TRIGGER_NAME。
- 从源库批量导出事件。
- 在源库执行以下语句,获取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分别表示从源库待迁移到目标库的数据库。
- 在源库执行如下语句,从字段SQL Original Statement中获取源库创建事件的语句。
SHOW CREATE EVENT EVENT_SCHEMA.EVENT_NAME \G;
上述语句中,EVENT_SCHEMA.EVENT_NAME填写的为2.a中查询到的EVENT_SCHEMA和EVENT_NAME具体值。
- 在源库执行以下语句,获取EVENT_SCHEMA和EVENT_NAME。
- 导入触发器和事件。
在目标库重新执行从源库导出的创建触发器和创建事件语句。
父主题: 实时迁移
实时迁移 所有常见问题
- 如何判断数据迁移任务可以停止
- MySQL迁移中Definer强制转化后如何维持原业务用户权限体系
- MySQL存储过程迁移上云后遇到调用权限的问题,如何解决
- 如何确保业务数据库的全部业务已经停止
- 迁移日志提示can not get agency token
- Oracle到MySQL迁移时,索引超长如何处理
- Oracle等异构数据库迁移到MySQL后的数据库排序规则为什么是utf8mb4_bin
- RDS for MySQL不支持MyISAM引擎表,迁移时MyISAM如何处理
- 低版本迁移至MySQL 8.0,应该注意哪些问题
- MongoDB数据库迁移过程中,源数据库出现内存溢出(OOM)是什么原因
- 如何关闭集合均衡器Balancer
- 如何批量导出、导入事件(event)和触发器(trigger)
- 源库参数lower_case_table_names=1时,为什么不允许迁移包含大写字母的库或者表
- 分片集群MongoDB迁移前清除孤儿文档
- MySQL账号迁移后权限显示多了反斜杠“\”
more