作为达梦产品服务中心的一员,每天在达梦技术社区巡逻,都会看到用户很多 MySQL 迁移到达梦的问题,比如“好多表报列长度超出定义…”、“数据字符串都截断!”、“迁过来数据乱码了。”等等。
很多人可能都有共同的感叹,为什么我就是一个基于MySQL 做的普通的业务系统,对象不复杂,表的数量中等,数据量也是中等规模,怎么每次迁移都有这么多问题呢?
我们观察到,很多用户一上来,就按照达梦数据库默认的配置直接开始迁移了,直接导致大量迁移报错。我们截取了部分达梦社区用户们提出的常见问题,大家后续迁移也可能会遇到👇👇:
要想确保迁移的成功与数据的完整性,避免上述问题的发生,需要用户仔细翻阅相关手册,根据 MySQL 数据库的具体情况以及达梦数据库的要求,对众多迁移参数进行细致的配置。
这些参数并非仅仅在一个界面上进行简单设置,就能配置完成。参数有些要在可视化界面调整、有些写SQL调整,参数生效条件也各有不同,操作十分繁琐耗时,需要步步留意。
建议用户使用达梦自主研发的 SQLark 百灵连接迁移。SQLark 数据迁移功能在实施迁移之前,给出了一套全面的环境检查 list 清单,并按照这份 list 清单进行自动检查。
功能入口:SQLark 数据迁移|环境检查
这套包含了空间、字符集编码、页大小等 10 来项参数的自动检测,是经过达梦原厂专家认证、实践检验的,可以根据源库情况,全面检测 MySQL 迁移到 DM 的全部关键参数,检查项通过后可以规避上述 90% 以上的报错问题。
对不通过的参数,SQLark 也会提供修改生效方法,无需翻阅手册,用户也可快速修改。
工具免费下载链接 www.sqlark.com
环境配置好了之后,用户接下来经常采取的做法是选择某个 MySQL 数据库,整个迁移到达梦。
这种操作会让迁移工具对全部对象开始随机迁移,提前迁移许多应该后迁的对象(例如视图、主键、外键、约束等依赖于表的对象),引发大批量的对象报错。
“一把迁”引发的问题:某小库外键、约束等报错超过60个
使用 SQLark 百灵连接 | 数据迁移提供的一键迁移。
SQLark 自动化迁移截图
SQLark 可以通过算法获取数据库对象间的依赖关系,用户只需点击"开始迁移"按钮,SQLark 即可按照表结构、表数据、主键、索引等的最优顺序进行迁移。整个迁移过程人工操作少、操作门槛低、项目平均单次迁移成功率达 90% 以上~
官网免费下载链接 www.sqlark.com
即使只是一个 MySQL 小库,迁移到达梦数据库仍是一个复杂且精细的工作。
通过本文可以帮助用户们解决 90% 以上的迁移常见问题、返工问题,但是由于源数据库与目标数据库之间的架构差异、语法差异等,一定会存在少量无法避免的报错。
下一期,我们将为您介绍如何基于 SQLark,解决迁移过程中剩下的这些迁移异常~
使用过程有任何问题,欢迎来 SQLark 社区 ask.sqlark.com 与我们沟通交流。
参考资料
[1] 迁移创建索引时:无效的列名
[2] mysql迁移数据发生乱码
[3] 数据库迁移创建索引失败
文章
阅读量
获赞