`
m635674608
  • 浏览: 5031505 次
  • 性别: Icon_minigender_1
  • 来自: 南京
社区版块
存档分类
最新评论

mycat 分片中快速数据迁移思考

 
阅读更多

操作实践背景:

     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实例

 

http://blog.csdn.net/mchdba/article/details/50939614

分享到:
评论

相关推荐

    Mycat2数据迁移工具-yugong免积分下载!

    5. 完成迁移后,进行数据验证,确保Mycat中的数据与原MySQL数据库一致。 总之,Yugong数据迁移工具是连接MySQL和Mycat的重要桥梁,它简化了迁移过程,降低了运维难度,使得用户可以更加专注于业务本身,而不是繁琐...

    MYCAT数据扩容+数据迁移

    - **安装MySQL客户端**: 确保MYCAT所在的环境中已安装MySQL客户端程序,这有助于后续的数据迁移操作。 - **添加JDBC驱动**: 在MYCAT的`lib`目录下添加MySQL的JDBC驱动包。这是为了确保MYCAT能够正确地与MySQL数据库...

    Mycat跨分片Join指南

    Mycat 跨分片 Join 指南是 Mycat 中的一种join 操作方式,主要实现了跨分片的数据join 操作,支持多种实现方式。下面是对Mycat 跨分片 Join 的详细解释。 1. 全局表 在 Mycat 中,全局表是一种特殊的表,具有以下...

    mycat分片规则

    在Mycat中,用户需要在配置文件中预先定义可能的枚举ID,并指定它们对应的分片节点。例如,以下配置展示了如何通过`hash-int`分片函数来实现枚举分片: ```xml <columns>user_id <algorithm>hash-int ...

    Mycat生产实践之数据迁移与扩容实践.docx

    例如,在使用一致性Hash进行分片的情况下,这种算法能够在节点增减时保持键映射关系的最小变动,从而减少数据迁移。然而,一致性Hash的缺点在于,如果针对某个节点进行扩容,可能导致该节点附近的键分布变化较大。...

    基于MYCAT简单实现数据库水平分片测试示例详解

    MYCAT的核心功能包括数据分片、读写分离、自动故障切换等,这些功能使得它成为处理大数据量场景的理想选择。 在实现数据库水平分片的过程中,首先要进行的是分片策略的设计。MYCAT支持多种分片策略,如哈希分片、...

    详解-mycat分片

    详细介绍mycat分片的相关分片规则,包括枚举法、固定分片hash算法、范围约定算法、求模法、日期列分区法、通配取模等

    mycat分片规则和算法.docx

    本文将深入探讨Mycat中的分片规则和算法,包括枚举法、固定分片Hash算法、范围约定、求模法、日期列分区法、通配取模、ASCII码求模通配、编程指定、字符串拆分Hash解析以及一致性Hash等。 首先,让我们来看看枚举法...

    mycat分片规则 1

    在Mycat中,分片规则是至关重要的,它决定了数据如何在多个数据库节点之间分布。本文将详细探讨Mycat的分片规则,特别是基于哈希算法的配置方法。 首先,我们来看一种常见的分片方式——枚举法。枚举法适用于已知...

    Mycat分库分表文档及demo.rar

    - 创建数据库分片:演示如何在Mycat中创建和配置分片表。 - 执行SQL测试:通过具体SQL操作,展示Mycat如何路由和执行请求。 - 应用部署:提供一个简单的应用示例,展示如何将Mycat集成到实际项目中。 总结来说,这...

    简述MySQL分片中快速数据迁移

    MySQL分片中的快速数据迁移是一项重要的任务,尤其在大型分布式数据库系统中,确保数据的完整性和业务的连续性至关重要。本文将深入探讨两种常见的迁移策略:利用`mysqldump`和MySQL的多源复制(Multi-Source ...

    mycat 分库分表

    分库是将数据按照一定的规则分配到不同的数据库中,分表则是将一个大表拆分成多个小表,通常配合分库进行。 2. **mycat 工作原理** mycat 作为数据库中间件,位于应用服务器和数据库服务器之间,负责接收来自应用...

    Mycat取模分片示例

    取模分片是一种常用的策略,它基于数据的某个属性进行计算,将数据均匀分布到各个分片中。在这个示例中,我们将VIP客户信息表的数据按照3取模的方式进行分片。 **一、修改配置文件** 1. **修改schema.xml文件** ...

    Mycat一致性哈希分片算法1

    一致性哈希分片算法是Mycat中的一种常用分片算法,它通过对数据的哈希值进行映射,来确定数据应该存储在哪个数据库节点中。这种算法具有良好的可扩展性和负载均衡性,能够满足大规模数据存储和高并发访问的需求。 ...

    Mycat从入门到精通之Mycat跨分片处理机制.zip

    《Mycat从入门到精通之Mycat跨分片处理机制》教程涵盖了数据库分片技术的核心内容,尤其是Mycat作为开源的分布式数据库中间件,如何实现高效、灵活的跨分片处理机制。本教程旨在帮助初学者理解并掌握Mycat在大数据...

    mycat字符串枚举分片示例.txt

    在Mycat中,`org.opencloudb.route.function.PartitionByFileMap`类提供了对数据分片的支持,原生支持整型枚举分片,但在实际应用场景中,可能会遇到需要根据字符串类型进行分片的情况,例如按照省份、地区等固定...

    Mycat从入门到精通视频教程

    Mycat数据扩容与迁移 第9课 Mycat案例分析 Mycat线上案例分析 第10课 MySQL 优化 MySQL通用调优 MySQL 主键问题 MySQL字段类型问题 MySQL Cache问题 MySQL常见误区 第11课 Mycat eye Mycat eye的规划...

Global site tag (gtag.js) - Google Analytics