前面有几篇文章介绍到了MyCat怎么实现分库分表功能。在将单库中单表分库分表成功后,又要面临一个将老表中数据迁移到分表之后的表中,并且还要遵循MyCat中的分表规则。又是一个比较棘手的问题。小编最初的时候是通过最笨的办法,通过代码实现。这种方式实现起来比较复杂,特别是在分库的情况下,就需要连接多个数据源。并且效率也比较低,开发、测试、预生产和生产这么多环境,实现起来更是会遇到不可预料的问题。MyCat目前还没有提供自己的工具,帮助用户实现旧数据的迁移。但是目前流行的数据迁移工具又有很多,之前文章中介绍过kattle这款工具,利用这款工具可以简单快速的实现数据迁移到MyCat下。
实现步骤:
1.在kattle中创建新的转换
2.创建DB连接。需要创建两个,一个连接数据库,一个连接MyCat。
连接数据库
连接MyCat,填写MyCat的连接信息
3.表数据输入
查询老表中的数据
4.插入/更新
将老表中的数据通过MyCat输出,MyCat会根据配置的分片规则,将数据进行分片。使用插入/更新功能,kattle会根据唯一键进行判断,唯一键存在的时候汇执行更新,否则执行插入。
kattle工具不会用的可以看一下小编之前的文章。有其他问题可以留言咱们一起探讨。