请教 SQLServer 迁移到 MySQL 方案, 1W+DB

dreamswhite · 2024-10-2 09:12:22 · 245 次点击
公司是传统企业,一个十几年的系统,使用 SQLServer 存储数据。累积到现在已有 1W+ DB ,每个 DB 下 100+表。想全部迁移至 MySQL 。SQLServer 和 MySQL 部署在内网不同服务器,MySQL 操作系统为 Linux 。

已尝试的方案:
- Navicat Premium: 勉强使用中。优点是一次可以设置迁移多个 DB (迁移依旧是串行),缺点是不完全成功率(一个 DB 下全部表迁移成功算完全成功)大概 50%
- MySQL Workbench: 放弃,一次只能设置迁移一个 DB ,需要操作的次数太多
- TapData: 放弃,一次只能设置迁移一个 DB ,需要操作的次数太多

想问下有没有更好的方案?
举报· 245 次点击
登录 注册 站外分享
23 条回复  
lsww 小成 2024-10-2 16:19:20
有预算吗?帮你搞定
chenzi0103 初学 2024-10-2 16:12:16
可以给一个逻辑
1 ,首先使用代码先将 SQLServer 每个 db 下面的表的结构整理处理
2 ,然后将每个表的表结构通过 llm 转译成 mysql 的结构,并且保存起来
3 ,通过分布式的框架,每次将每个表的一部分数据保存下来,变成 parquet 文件
4 ,通过刚才保存的表的结构,使用一个分布式框架将 parquet 文件通过某种方式快速的插入到 mysql 数据库中。并且保存其中的记录
wtks1 小成 2024-10-2 13:24:35
mysql 可不是国产化数据库,你这么迁移了也是做白工
adoal 小成 2024-10-2 13:02:28
建议不迁移。
yinmin 小成 2024-10-2 12:57:33
微软 sql server 和 mysql 的 SQL 语法不兼容的,软件需要重构工作量不低。

其实,你用工具跨数据库迁移,本质上也是读数据写数据。自己直接写一个迁移程序,不复杂。mysql 的 insert 支持一条命令插入多行记录的,你组成 500 行记录一条 insert ,迁移速度也很快的。
Bingchunmoli 小成 2024-10-2 12:44:57
说实话之前有个国家项目(应该是省级)的数据库,SQLServer 很大,直接 navicat 迁的 mysql , 因为后台也改了所以还好一点。你这旧项目还在的话,能不动就不动是最好的方案吧
liuxey 小成 2024-10-2 12:41:23
如果有国产化需求,有些数据库供应商采购的时候可以附加迁移服务
charleschilips 小成 2024-10-2 12:38:33
找个兼容 SQL server 的国产数据库
akira 初学 2024-10-2 12:33:53
这活。。大坑啊。。。技术验证都没验证的吧。
讲真, 数据迁移属于这个事情里面最最简单的部分了。  
sql 改造,代码改造 那边要做的事情多了去了
qfdk 小成 2024-10-2 12:19:12
不大靠谱. 为社么这么说... 我司就有一个 erp.... 大概 3k 多的表吧. 里面的 process 也都要重写... 工作量太大了.  甚至有些祖传脚本..... 然后业务代码里面有些用到直接执行  sql 代码的地方... 有些 语句并不通用. 要是用的 orm 可能没有这样的问题... 但是有些 orm 搞不定的真的是语句....
123下一页
返回顶部