操作实践背景:
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
相关推荐
5. 完成迁移后,进行数据验证,确保Mycat中的数据与原MySQL数据库一致。 总之,Yugong数据迁移工具是连接MySQL和Mycat的重要桥梁,它简化了迁移过程,降低了运维难度,使得用户可以更加专注于业务本身,而不是繁琐...
- **安装MySQL客户端**: 确保MYCAT所在的环境中已安装MySQL客户端程序,这有助于后续的数据迁移操作。 - **添加JDBC驱动**: 在MYCAT的`lib`目录下添加MySQL的JDBC驱动包。这是为了确保MYCAT能够正确地与MySQL数据库...
Mycat 跨分片 Join 指南是 Mycat 中的一种join 操作方式,主要实现了跨分片的数据join 操作,支持多种实现方式。下面是对Mycat 跨分片 Join 的详细解释。 1. 全局表 在 Mycat 中,全局表是一种特殊的表,具有以下...
在Mycat中,用户需要在配置文件中预先定义可能的枚举ID,并指定它们对应的分片节点。例如,以下配置展示了如何通过`hash-int`分片函数来实现枚举分片: ```xml <columns>user_id <algorithm>hash-int ...
例如,在使用一致性Hash进行分片的情况下,这种算法能够在节点增减时保持键映射关系的最小变动,从而减少数据迁移。然而,一致性Hash的缺点在于,如果针对某个节点进行扩容,可能导致该节点附近的键分布变化较大。...
MYCAT的核心功能包括数据分片、读写分离、自动故障切换等,这些功能使得它成为处理大数据量场景的理想选择。 在实现数据库水平分片的过程中,首先要进行的是分片策略的设计。MYCAT支持多种分片策略,如哈希分片、...
详细介绍mycat分片的相关分片规则,包括枚举法、固定分片hash算法、范围约定算法、求模法、日期列分区法、通配取模等
本文将深入探讨Mycat中的分片规则和算法,包括枚举法、固定分片Hash算法、范围约定、求模法、日期列分区法、通配取模、ASCII码求模通配、编程指定、字符串拆分Hash解析以及一致性Hash等。 首先,让我们来看看枚举法...
在Mycat中,分片规则是至关重要的,它决定了数据如何在多个数据库节点之间分布。本文将详细探讨Mycat的分片规则,特别是基于哈希算法的配置方法。 首先,我们来看一种常见的分片方式——枚举法。枚举法适用于已知...
- 创建数据库分片:演示如何在Mycat中创建和配置分片表。 - 执行SQL测试:通过具体SQL操作,展示Mycat如何路由和执行请求。 - 应用部署:提供一个简单的应用示例,展示如何将Mycat集成到实际项目中。 总结来说,这...
MySQL分片中的快速数据迁移是一项重要的任务,尤其在大型分布式数据库系统中,确保数据的完整性和业务的连续性至关重要。本文将深入探讨两种常见的迁移策略:利用`mysqldump`和MySQL的多源复制(Multi-Source ...
分库是将数据按照一定的规则分配到不同的数据库中,分表则是将一个大表拆分成多个小表,通常配合分库进行。 2. **mycat 工作原理** mycat 作为数据库中间件,位于应用服务器和数据库服务器之间,负责接收来自应用...
取模分片是一种常用的策略,它基于数据的某个属性进行计算,将数据均匀分布到各个分片中。在这个示例中,我们将VIP客户信息表的数据按照3取模的方式进行分片。 **一、修改配置文件** 1. **修改schema.xml文件** ...
一致性哈希分片算法是Mycat中的一种常用分片算法,它通过对数据的哈希值进行映射,来确定数据应该存储在哪个数据库节点中。这种算法具有良好的可扩展性和负载均衡性,能够满足大规模数据存储和高并发访问的需求。 ...
《Mycat从入门到精通之Mycat跨分片处理机制》教程涵盖了数据库分片技术的核心内容,尤其是Mycat作为开源的分布式数据库中间件,如何实现高效、灵活的跨分片处理机制。本教程旨在帮助初学者理解并掌握Mycat在大数据...
在Mycat中,`org.opencloudb.route.function.PartitionByFileMap`类提供了对数据分片的支持,原生支持整型枚举分片,但在实际应用场景中,可能会遇到需要根据字符串类型进行分片的情况,例如按照省份、地区等固定...
Mycat数据扩容与迁移 第9课 Mycat案例分析 Mycat线上案例分析 第10课 MySQL 优化 MySQL通用调优 MySQL 主键问题 MySQL字段类型问题 MySQL Cache问题 MySQL常见误区 第11课 Mycat eye Mycat eye的规划...