Mysql迁移达梦大批量数据报错处理_踩坑总结
背景概述
最近,公司项目组要求将系统中的MySQL数据库迁移到国产达梦数据库(DM8),本博客主要记录在MySQL到DM的数据迁移过程中遇到的数据报错问题及相应的解决方案。
问题记录
在环境配置好了之后,我接下来就选择了MySQL 数据库,整个迁移到达梦。然后出现了批量的对象报错,一个不是很大的MySQL库,外键、约束等报错竟然过60个(提示在XXX表上添加外键约束/以及提示添加CHECK约束...)
解决方案
后来,在达梦技术社区发现大家都推荐使用 SQLark 百灵连接迁移,先说结论:果然很好用!这里附上下载链接:www.sqlark.com 。
首先分析下引发该问题的原因,选择 MySQL 数据库,整个迁移到达梦。这种操作会让迁移工具对全部对象开始随机迁移,提前迁移许多应该后迁的对象(例如视图、主键、外键、约束等依赖于表的对象),引发大批量的对象报错。
那怎么解决呢,使用 SQLark 百灵连接 | 数据迁移提供的一键迁移即可!
SQLark可以通过算法获取数据库对象间的依赖关系,我只点击了"开始迁移"按钮,SQLark 就开始按照表结构、表数据、主键、索引等的最优顺序进行迁移。整个迁移过程人工操作少、操作门槛低、项目平均单次迁移成功率达 90% 以上,让我完成了这次的迁移工作。
此外,SQLark 数据迁移功能在实施迁移之前,给出了一套全面的环境检查 list 清单,按照这份 list 清单进行自动检查,通过后可以规避上述 90% 以上的报错问题。
这套包含了空间、字符集编码、页大小等 10 来项参数的自动检测,是经过达梦原厂专家认证、实践检验的,可以根据源库情况,全面检测 MySQL 迁移到 DM 的全部关键参数。对不通过的参数,SQLark 也会提供修改生效方法,无需翻阅手册,用户也可快速修改。
踩坑总结
即使只是一个 MySQL 小库,迁移到达梦数据库仍是一个复杂且精细的工作。首先要重视环境检查,检查项通过后可以规避 90% 以上的报错问题;其次,不要上来就直接“一把迁”,可以使用SQLark工具,按照表结构、表数据、主键、索引等的最优顺序进行迁移,减少返工!