操作实践背景:

travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQL上,并完成记录, 要求最快的数据迁移做法,中断业务时间最短

思路一利用mysqldump:

在这里我们只针对mysql innodb engine,而且配置bin-log的数据库进行分析。因为是将10个分片中的两个分片进行迁移,其实就是数据库的迁移过程,就是将10个数据库中的两个数据迁移到另外一台机器;中断业务最短的做法就是:

1) 准备mycat新的配置文件备用,以便快速切换配置文件。

2) 在业务地峰期间,如凌晨,使用mysqldump进行数据库的全量备份(附带--flush-logs);

3) 将两个分片数据库的全量备份第二台机器上进行全量恢复;

4) 停止mycat服务器,

5) 停止第一台机器的mycat实例(假设原来的分片在一个mysql实例)

6) 拷贝第一台机器的binlog文件到第二台机器,并使用mysql的mysqlbinlog工具进行这两个数据库的增量数据的恢复。

7) 启动第一台数据实例,校验迁移的两个分片数据正确性(主要看记录数)

8) 替换mycat的配置文件并启动mycat实例

在该方案中,业务中断的时间主要是处理mysqlbinlog的增量数据恢复。

思路二利用mysql的ms机制做级联复制

在这里二个片比如第一个分片db11,第二个分片db21,我在db11上面再做个级联主从,db11-->db16,在db21上面做个级联主从db21->db26,这样到时候数据实时同步,中断业务比较短的做法是:

1)准备mycat新配置文件备用,以便快速切换配置文件。

2)在业务低峰期间,比如凌晨时分,开始操作,停止mycat服务器

3)进行db11-db16主备切换,进行db21-db26主备切换

4)停止第一台机器的mycat实例

5)在主备切换过程中,旧的主db11、db21上面的binlog中如果有新的dml、ddl操作,就用mysqlbinlog解析出来,在新的主db16和db26上面重做一遍

6)使用mk-table-checksum工具检查新主从db16->db11、db26->db21的数据一致性。

7)替换mycat的配置文件并启动mycat实例

好了,关于MySQL分片中快速数据迁移相关知识就给大家介绍到这里,希望对大家有所帮助,更多有关mysql数据迁移知识请登录www.zyiz.net 了解更多!

数据库分片教程mysql_简述MySQL分片中快速数据迁移相关推荐

  1. mysql 分片 数据迁移_简述MySQL分片中快速数据迁移_MySQL

    推荐阅读:MySQL 数据库跨操作系统的最快迁移方法 mysql 备份与迁移 数据同步方法 操作实践背景: travelrecord表定义为10个分片,尝试将10个分片中的2个分片转移到第二台MySQ ...

  2. tsdb和mysql_从 MySQL 到 TSDB 的数据迁移

    背景 本文主要介绍如何使用阿里巴巴的开源工具Datax 实现从 MySQL 到 TSDB 的数据迁移. DataX相关使用介绍请参阅 DataX 的 README 文档. 下面将首先介绍 DataX ...

  3. 如何在MySQL 8中实现数据迁移?这里有一个简单易用的方案

    文章目录 前言 一. 致敬IT领域的那些女性 二. 进制方式安装MySQL 2.1 下载软件包 2.2 配置环境: 2.2.1 配置yum环境 2.2.2 配置安全前的系统环境 2.3 开始安装 2. ...

  4. sparksql加载mysql表中的数据

    sparksql加载mysql表中的数据 <dependency><groupId>mysql</groupId><artifactId>mysql-c ...

  5. 【产品方案】如何全面建设B端产品中的数据迁移方案

    在新系统替换老系统或者系统升级的项目中,难免会存在数据迁移的工作,并且随着业务系统和数据结构的复杂性,数据迁移的难度越大. 这亦要求在项目实施的前期,根据客户的需求尽可能全面地考虑到各个方面,输出一份 ...

  6. sqldeveloper导出数据字典_如何全面建设B端产品中的数据迁移方案

    加关注,带你看世界 在新系统替换老系统或者系统升级的项目中,难免会存在数据迁移的工作,并且随着业务系统和数据结构的复杂性,数据迁移的难度越大. 这亦要求在项目实施的前期,根据客户的需求尽可能全面地考虑 ...

  7. 新旧ERP系统替换过程中的数据迁移

    由于各种原因,越来越多的企业面临着ERP系统替换问题,而在系统更换前,现有ERP系统中有效数据的导入,对ERP系统切换以及新系统正常运行有着重要影响.数据迁移稍有不慎,便会造成新系统不能正常启动,而迁 ...

  8. cpp导入excel到mysql_将EXCEL表格中的数据导入mysql数据库表中

    本文转载自http://blog.sina.com.cn/s/blog_5d972ae00100gjij.html 今天项目上遇到需要将excel中的数据导入到数据库的classify表中,于是乎拼命 ...

  9. mysql数据库中怎么删除一行_数据库教程_mysql如何删除表中一行数据?- 中国it教程网...

    mysql中使用DELETE语句删除表中一行数据,语句为"DELETE FROM 表名称 WHERE 列名称 = 值".删除所有行的语句为"DELETE FROM tab ...

最新文章

  1. 排序算法 时间复杂度+空间复杂度 总结
  2. ICCV2019最佳论文SinGAN全面解读,看这一篇就懂了
  3. 【转载】设计模式_六大原则(学习)
  4. mongodb 查询效率_2020年9个好用的MongoDB 图形化界面工具
  5. 长沙营智:PolarDB助力长沙营智提速资讯搜索业务
  6. 信息学奥赛C++语言:打印字母表
  7. ionic4 QQ登陆集成
  8. Python学习入门基础教程(learning Python)--5.6 Python读文件操作高级
  9. 深度学习实践指南(六)—— ReLU(前向和后向过程)
  10. 【微信小程序】微信Web开发者工具下载及安装
  11. 使用golang实现对请求签名和验签
  12. arduino 点灯科技 用esp8266 01s 实现wifi控制继电器开关 支持天猫精灵
  13. spline: 计算机曲线简史(转载)
  14. 【杂谈】真相揭开有点吃惊:杨利伟出舱时
  15. linux 解决内存不足问题(设置虚拟内存)
  16. PIC16F887 单片机 接线 实物器件说明 原理
  17. Line 167. parse error, unexpected IS, expecting SEMICOLON ISE14.7
  18. 小伙伴们,线程生命周期、线程池生命周期别再傻傻分不清楚了!!!
  19. 从零到一构建CI/CD的DevOps自动化流水线,需要考虑的开源项目
  20. 关于国密HTTPS的那些事(三)

热门文章

  1. Yahoo! UI Library入门
  2. Matlab的内部常数
  3. Gstreamer基础知识介绍
  4. WebSocket 从入门到写出开源库
  5. 使用 ACE 库框架在 UNIX 中开发高性能并发应用
  6. 基于Yolov5的烟火检测——模型训练与C++实现部署
  7. linux qt串口无法显示,Linux QT串口通信遇到的问题
  8. uml图工具_UML建模工具更新情况(二)
  9. 一个数里有那些约数用c++怎么做_如何从一堆数里找出哪几个数相加等于你要的值?...
  10. asm 比 ucontext 快