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中参考下图操作
    在这里插入图片描述

2.编辑sql文件

  • 如下图,请理解后修改如图2个位置
  • 下方2句都是新增
    在这里插入图片描述
  • 上图后面部分的语句是:
# id
KEY `id` (`id`)
# 分库分表描述
dbpartition by mod_hash(id) tbpartition by mod_hash(id) tbpartitions 2 dbpartitions 2;

3.导入数据

  • 在mycat2连接中执行修改后的sql
    在这里插入图片描述
  • 执行完成后进入2库4表去检查是否成功。

4.验证结果

4.1 分库分表检查
  • 查看分库分表情况,如下图,分库分表成功,每个表均有数据
    在这里插入图片描述
4.2 数据量检查
  • 原表有141662条数据(测试库,数据量不大)
  • 在mycat2连接中查询,数据量也为141662,如下图。
    在这里插入图片描述
4.3 随机数据检查
  • 从原数据库中随机抽取3条数据
    在这里插入图片描述
  • 然后利用上述3条数据的id去mycat分库分表后的数据中查询出来比较
    在这里插入图片描述
经验证,数据一致,达到效果。
  • 这里完成了一个表的处理,那么全部数据怎么处理呢?
  • 我的建议是先把整体数据导入进去,然后逐个处理和导入需要分库分表的表。

5.常见问题

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

posted @   成旭元  阅读(10)  评论(0编辑  收藏  举报  
相关博文:
阅读排行:
· DeepSeek 开源周回顾「GitHub 热点速览」
· 物流快递公司核心技术能力-地址解析分单基础技术分享
· .NET 10首个预览版发布:重大改进与新特性概览!
· AI与.NET技术实操系列(二):开始使用ML.NET
· 单线程的Redis速度为什么快?
点击右上角即可分享
微信分享提示