一 背景

通常情况下,还是做业务需求为主,很少会遇到迁移数据的机会,之前做的迁移《MYSQL数据库 单表亿级数据不停机迁移_bohu83的博客-CSDN博客_mysql亿级数据迁移》

业务场景是阿里云 的数据库,迁移用了dts.在线不停机迁移,还是自己去做。

二  技术选型

如果运行停止服务,dba 可以使用MYSQL官方的mysqldump 或者Percona的备份工具进行迁移。

mysqldump 对于大表迁移速度很慢,不支持分表。所以只能考虑其他办法。

datax: 介绍

阿里云开源离线同步工具DataX3.0介绍-阿里云开发者社区

datax 也可以实现分表,本身没有实践,因为这是Python 的。我对这个不熟悉。所以本次 没采用。

otter:

GitHub - alibaba/otter: 阿里巴巴分布式数据库同步系统(解决中美异地机房)

阿里开源数据迁移工具(背景解决中美异地机房同步)。

相对 复杂。

yugong

GitHub - alibaba/yugong: 阿里巴巴去Oracle数据迁移同步工具(全量+增量,目标支持MySQL/DRDS)

阿里开源oracle数据迁移工具。java 版本,开源版本不支持MYSQL,但是技术上有改动基础

Java HotSpot(TM) 64-Bit Server VM warning: ignoring option PermSize=96m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Java HotSpot(TM) 64-Bit Server VM warning: UseCMSCompactAtFullCollection is deprecated and will likely be removed in a future release.
2022-02-28 15:57:45.739 [main] INFO  com.taobao.yugong.YuGongLauncher - ## start the YuGong.
2022-02-28 15:57:45.816 [main] INFO  com.taobao.yugong.controller.YuGongController - check source database connection ...
2022-02-28 15:57:45.865 [main] INFO  com.taobao.yugong.controller.YuGongController - check source database is ok
2022-02-28 15:57:45.865 [main] INFO  com.taobao.yugong.controller.YuGongController - check target database connection ...
2022-02-28 15:57:45.866 [main] INFO  com.taobao.yugong.controller.YuGongController - check target database is ok
2022-02-28 15:57:45.867 [main] INFO  com.taobao.yugong.controller.YuGongController - check source tables read privileges ...
2022-02-28 15:57:45.934 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-1} inited
2022-02-28 15:57:46.358 [main] INFO  com.alibaba.druid.pool.DruidDataSource - {dataSource-2} inited
2022-02-28 15:57:46.513 [main] INFO  com.taobao.yugong.controller.YuGongController - check source tables is ok.
2022-02-28 15:57:46.524 [main] ERROR com.taobao.yugong.YuGongLauncher - ## Something goes wrong when starting up the YuGong:
com.taobao.yugong.exception.YuGongException: unsupport MYSQLat com.taobao.yugong.controller.YuGongController.chooseExtractor(YuGongController.java:339)at com.taobao.yugong.controller.YuGongController.start(YuGongController.java:168)at com.taobao.yugong.YuGongLauncher.main(YuGongLauncher.java:32)

yugong开源版本目的:从oracle到MYSQL迁移。支持异构结构。(背景是阿里的去IOE)可能处于商业考虑,不支持MYSQL到MYSQL迁移.

三  效果

考虑到它是Java框架,框架比较完善,只是缺了MYSQL的抽取,可以参照Oracle的去改。

效果,在配置20个线程读原表,单次读取2000情况下,往16个新库分表迁移。tps在50000以上。

表里有单主键无text大字段。

速度很快,3300W 数据10分钟就跑完了。

这只是全量数据迁移 ,还有很多细节要考虑,比如迁移 期间增量数据处理,一对多的数据比对不能很好支持。

MYSQL 到MYSQL 分表数据迁移相关推荐

  1. node.js+mysql实现分库分表存查数据:

    node.js+mysql实现分库分表: 1.分库分表使用场景: 互联网项目中常用到的关系型数据库,如MySQL,随着用户和业务的增长,传统的单库单表模式难以满足大量的业务数据存储以及查询,单库单表中 ...

  2. mysql删除分表键_一文看懂 MySQL 分区和分表,提高表增删改查效率

    原标题:一文看懂 MySQL 分区和分表,提高表增删改查效率 作者:冯帅,精通Oracle. MySQL. 擅长异构数据库数据同步及迁移.数据库的设计和调优,对高可用方案有深入研究. MySQL分区和 ...

  3. MySQL之分库分表

    文章目录 MySQL之分库分表 1.问题分析 2.分库分表介绍 3.分库分表拆分策略 4.垂直分库 4.1介绍 4.2特点 5.垂直分表 5.1介绍 5.2特点 6.水平分库 6.1介绍 6.2特点 ...

  4. mysql分区和分表比较_MySQL分区和分表的区别与联系

    一.分区和分表简介 分表 就是将一张大表分成N个小表. 分区 将一张大表的数据分成N个区块,这些区块可以在同一个磁盘上,也可以在不同的磁盘上. 二.分区和分表的区别 1. 实现方式 1.1 分表 My ...

  5. mysql+join+分库分表_MySQL分库分表篇

    传统项⽬结构 数据库性能瓶颈: 1.数据库连接数有限 MySQL数据库默认100个连接.单机最⼤1500连接. 2.表数据量 1)表数量多,成百上千 2)单表数据,千万级别 3)索引,命中率问题,索引 ...

  6. MySQL分库、分表、分区的区别

    1.1 分 很多技术都运用了分的编程思想,这里来举几个例子,这些都是分的思想 集中式服务发展到分布式服务 从Collections.synchronizedMap(x)到1.7ConcurrentHa ...

  7. mysql proxy 分库分表_OneProxy实现MySQL分库分表

    简介 Part1:写在最前 随着网站的壮大,MySQL数据库架构一般会经历一个过程: 当我们数据量比较小的时候,一台单实例数据库足矣.等我们数据量增大的时候,我们会采用一主多从的数据库架构来降低我们的 ...

  8. 一文搞懂MySQL数据库分库分表

    如果数据量过大,大家一般会分库分表.分库需要注意的内容比较少,但分表需要注意的内容就多了. 工作这几年没遇过数据量特别大的业务,那些过亿的数据,因为索引设置合理,单表性能没有影响,所以实战中一直没用过 ...

  9. webService+mysql+mybatis+layui 分表动态查询、导出

    目录 1.介绍 2.获取WebService接口数据 3.mysql 数据库使用分表MYISAM引擎 4.layui 数据表格,分离的表头.表数据.分页导航插件 5. 点击按钮,多表联合条件查询 6. ...

最新文章

  1. 开源ImageFilter库v0.2:新增7类滤镜,支持12种图片效果
  2. 基础知识收藏(ASP.NET的OnClientClick与OnClick事件)-2013.07.10
  3. 修改Apache的默认站点目录的方法,需要的朋友可以参考下
  4. 第三讲:Asp.Net+Autofac+EF/ADO.NET Winform OA(3)-启用DevExpress皮肤功能
  5. 如何将页脚固定在页面底部
  6. 在统计学中参数的含义是指_期刊论文中科研统计学缺陷分析及解决路径
  7. u-boot移植随笔:终于解决Nor Flash的问题了
  8. features its own
  9. Collectors.maxBy()和minBy()
  10. 56.Linux/Unix 系统编程手册(下) -- SOCKET 介绍
  11. Windows实现微信多开+美化图标
  12. 计算机大写改成拼音形式,拼音转换
  13. c语言中罗马字母数字,C语言程序经典示例—-(22)阿拉伯数字转换为罗马数字...
  14. 华为鸿蒙鲲鹏麒麟凌霄,华为麒麟、凌霄、鸿鹄三大芯片有什么区别?
  15. matlab产生一个稀疏向量,Matlab中的稀疏矩阵向量乘法比Python快吗?
  16. 【数据结构 - 栈和队列】自学笔记记录(更新中……)
  17. 转 | 芯片封装SOIC DIP MSOP DFN LCC介绍
  18. kafka安装及配置
  19. 计算机等级二级c语言英文,计算机等级考试二级C语言考试大纲(国外英文资料).doc...
  20. 巧用友盟UShare、ULink玩转裂变营销

热门文章

  1. PBOC MAC 计算算法 实现
  2. Mysql学习宝典(二) -- 从更新语句执行流程引出的Mysql各种日志
  3. linux下ganglia监控系统搭建,linux下ganglia监控系统搭建
  4. JavaScript:实现计算两个日期之间的天数算法(附完整源码)
  5. FPGA信号完整性分析
  6. 亲子教育资源库大全集
  7. 豆瓣音乐播放器XPlayer
  8. 常用正则表达式爬取网页信息及HTML分析总结
  9. 「解读」华为云桌面说“高清”的时候,究竟在说什么?
  10. 我眼中的算法导论 | 第一章——算法在计算中的作用、第二章——算法基础