Mycat2 使用教程(三)原始数据导入分库分表【MySQL分库分库分表】

Mycat2 使用教程(三)原始数据导入分库分表【MySQL分库分库分表】

  • 本文主要描述mycat2完成分库分别数据源配置后,将数据导入的过程
  • mysql 分库分表
  • 如果是新项目,则不用考虑本文内容
  • mycat2如何配置分库分表?见上文

1.计划

  • Mycat2 暂时不支持自动对全部表进行分库分表
  • 因此我们需要考虑对哪些表进行分库分表
  • 下方的SQL可以帮助你查看当前数据库中,哪些表数据最多,是重要参考点
SELECT table_name,table_rows FROM information_schema.tables   WHERE TABLE_SCHEMA = '数据库名' ORDER BY table_rows DESC;
  • 参考上述数据和业务分析,我打算对我们项目的t_customer_oilcoupon、t_customer_oilcoupon_get_record、t_customer_notice这3个表进行处理

2.按表导出数据

  • 使用navicat按表导出上述3个表的数据
  • 按表导出是为了方便编辑sql文件
  • navicat中参考下图操作
    Mycat2 使用教程(三)原始数据导入分库分表【MySQL分库分库分表】_第1张图片

2.编辑sql文件

  • 如下图,请理解后修改如图2个位置
  • 下方2句都是新增
    Mycat2 使用教程(三)原始数据导入分库分表【MySQL分库分库分表】_第2张图片
  • 上图后面部分的语句是:
# id
KEY `id` (`id`)
# 分库分表描述
dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 2 dbpartitions 2;

3.导入数据

  • 在mycat2连接中执行修改后的sql
    Mycat2 使用教程(三)原始数据导入分库分表【MySQL分库分库分表】_第3张图片
  • 执行完成后进入2库4表去检查是否成功。

4.验证结果

4.1 分库分表检查

  • 查看分库分表情况,如下图,分库分表成功,每个表均有数据
    Mycat2 使用教程(三)原始数据导入分库分表【MySQL分库分库分表】_第4张图片

4.2 数据量检查

  • 原表有141662条数据(测试库,数据量不大)
  • 在mycat2连接中查询,数据量也为141662,如下图。
    Mycat2 使用教程(三)原始数据导入分库分表【MySQL分库分库分表】_第5张图片

4.3 随机数据检查

  • 从原数据库中随机抽取3条数据
    Mycat2 使用教程(三)原始数据导入分库分表【MySQL分库分库分表】_第6张图片
  • 然后利用上述3条数据的id去mycat分库分表后的数据中查询出来比较
    Mycat2 使用教程(三)原始数据导入分库分表【MySQL分库分库分表】_第7张图片

经验证,数据一致,达到效果。

  • 这里完成了一个表的处理,那么全部数据怎么处理呢?
  • 我的建议是先把整体数据导入进去,然后逐个处理和导入需要分库分表的表。

5.常见问题

暂无。
如果遇到其他问题,可以在下方留言。
具有代表性的问题,我会提到正文中来。

你可能感兴趣的:(mysql,数据库,mycat,mycat2,分库,分表)