mysql迁移达梦:外键添加失败问题(已解决)

问题描述

近期,我们在进行一项关键的数据库迁移工作,将原本基于 MYSQL 数据库架构所搭建的业务系统数据,向达梦数据库进行迁移转换。在整个迁移流程推进到关键节点时,却遭遇了意想不到的阻碍,外键添加操作接连失败。已将调整数据库的COMPATIBLE_MODE参数为4,但还是出现报错。

问题分析

数据库复杂程度以及不同模块之间具有关联性,可以分批次来逐步迁移相关内容的。具体而言,在实施迁移操作的进程中,我们可以优先考虑先不迁移那些诸如外键之类的约束条件,将其放在最后一步。这是因为外键约束往往与多个数据表紧密相连,若过早迁移,极有可能在后续的数据调整与整合阶段引发一系列连锁问题。

问题解决

我使用 SQLark 的数据迁移功能来解决上述问题,SQLark提供的一键迁移,能够按照依赖关系对数据库对象实施自动化迁移。附上下载链接:www.sqlark.com

在这里插入图片描述

具体的迁移步骤如下:

  • 第一步:按照依赖关系对表结构、序列、函数、存储过程、包等数据库对象实施自动化迁移,减少复杂依赖关系造成的迁移失败风险。

在这里插入图片描述

  • 第二步:按照从易到难的顺序,依次迁移普通表、大数据量表、分区表和含大字段表。

在这里插入图片描述

  • 第三步:迁移依赖于表的视图和物化视图。

在这里插入图片描述

  • 第四步:迁移依赖于表的索引、主键、唯一键、约束、外键、触发器等对象。

在这里插入图片描述

  • 第五步:完成全部对象迁移后,分批迁移大字段表的 BLOB 大字段列至目标库。

在这里插入图片描述

  • 第六步:上述对象迁移完成后,开始迁移无效对象。

在这里插入图片描述

总结

SQLark 可以通过算法获取数据库对象间的依赖关系,只需点击"开始迁移"按钮,SQLark 即可按照表结构、表数据、主键、索引等的最优顺序进行迁移。整个迁移过程人工操作少、操作门槛低、项目平均单次迁移成功率达 90% 以上~

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值