码迷,mamicode.com
首页 > 其他好文 > 详细

MyCat分库分表-练习

时间:2020-02-19 00:37:46      阅读:70      评论:0      收藏:0      [点我收藏+]

标签:分片   修改   文件   image   sql   cat   com   方便   sql数据库   

模拟这样一个场景:

    1、将数据库按业务“垂直”拆分成用户库和订单库;

    2、用户库做主从,读写分离;

    3、订单库做“水平”切分,并且每个分片表做主从,读写分离;

 

一、垂直切分

  1、准备两个MySQL数据库

    技术图片   技术图片

 

  2、MyCat的配置文件

    schema.xml

     技术图片

    server.xml (主要是修改schemas,修改成schemas.xml中的schema名)

     技术图片

 

    启动mycat,两张表出现了。

     技术图片

 

    插入一条数据,查看mycat和用户库都有了数据,再往订单表中插入一条。

     技术图片  技术图片  技术图片

 

    关联这两个实际处于两个库的表看看,两个表我插入的数据 id都是1,所以按id关联,报错了,目前不能跨库关联,先通过应用层接口调用的方式解决吧,其实有解决方案,后边深入学习后再解决。

     技术图片

 

    好,垂直切分完成。

二、用户库主从,读写分离

  1、准备一台MySQL,做为用户库的从机,主从两库的表要一样。

  2、修改mycat配置文件,schema.xml,就是添加一句配置

    技术图片

 

    balance:
                        1. balance="0",不开启读写分离,所有读操作都发送到当前可用的writeHost上。
                        2. balance="1",所有读操作都随机的发送到第一个writeHost以外的所有节点上。
                        3. balance="2",所有读操作都随机的在writeHost、readhost上分发。

        4.  balance="3",所有读操作都随机的在readhost上分发。

    我们把从节点的users表中的数据修改一下,方便看出是读的哪个库的数据。

      技术图片    技术图片

 

    发现,不管查多少次,都是主节点的,我们把banlance改成2,发现查询的数据再主从节点上来回切换。把balance改成3,只查询从节点了。

 

    还缺少一个主从节点的数据同步,这块就略过了,在《主从》那篇你有。

 

三、订单库,水平切分

  

 

 

 

  

     

 

 

 

 

 

 

     

 

MyCat分库分表-练习

标签:分片   修改   文件   image   sql   cat   com   方便   sql数据库   

原文地址:https://www.cnblogs.com/hmxs/p/12329439.html

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!