Mycat读写分离以及拆库拆表综合实验2:部署配置mycat读写分离与拆库拆表
admin
2023-04-29 10:04:57
0

部署 mycat

mycat基于java运行,检查java版本

[root@node119 ~]# java -version
openjdk version "1.8.0_171"
OpenJDK Runtime Environment (build 1.8.0_171-b10)
OpenJDK 64-Bit Server VM (build 25.171-b10, mixed mode)

配置java变量

[root@node119 ~]# vim /etc/profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.171-7.b10.el7.x86_64
export CLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin

mycat下载地址

http://dl.mycat.io/
cd /opt
tar zxvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz  

大致架构图
Mycat读写分离以及拆库拆表综合实验2:部署配置mycat读写分离与拆库拆表

核心概念

  • schema:由多个数据库组成的逻辑数据库
  • datanode:将数据切分后,一个大表被分配到不同的分片数据库上,每个表分片所在的数据库就称为分片节点
  • datahost:一个或者多个分片节点所在的机器就是节点主机

分片节点与节点主机的概念稍微有点不好理解,举例来说,一张100W的表被分为两张表,前50W在A主机的数据库中,后50W在B主机的数据库中,表所在的数据库就称这张表的分片节点;一个主机中不可能只有一张表,会有许多的分片表放在该主机上,该主机就称为节点主机,即datanode=database@datahost

mycat原理的简单说明:

拦截--->分析--->转发--->结果处理--->返回给用户

mycat分析大致包括:分片分析,路由分析,读写分离分析,缓存分析等,在接下来的实验中会通过分析log来查看mycat如何工作。

需求说明

有一个库3张表

MySQL [mycat01]> show tables;
+-------------------+
| Tables in mycat01 |
+-------------------+
| t1                |
| t2                |
| t3                |
+-------------------
  • 分库:

t1在mysql集群中
t2在percona集群中

  • 分表:

t3 id取模1024小于1024的在mysql集群中,大于1024则在percona集群中

  • 读写分离:

t1 writehost 为node115
stand by writehost 为node116
readhost 为node117
t2 writehost 为node126
readhost 为node123 node125

配置文件

#这里创建了两个mycat用户(注意:与后端mysql用户无关)root具有读写权限,user具有读权限
[root@node119 ~]# vim /opt/mycat/conf/server.xml


                123456
                mycat01
        

        
                user
                mycat01
                true
        

balance="0" 不开启读写分离,即所有读写操作都发送到writehost上

balance="1" 全部的readhost与stand by writehost都参与select语句的负载,也就是互为主从模式下

balance="2" 所有读写操作在readhost和writehost上随机分发

balance="3" 所有读请求都发送到与writehost对应的readhost上,减轻writehost压力

writeType="0" 所有的写操作发送到第一个writehost,当第一个writehots down后则切换到第二个,且不会回切


[root@node119 ~]# vim /opt/mycat/conf/schema.xml



         #schema name就是映射出去的逻辑库名称,也就是访问mycat用户看到的名称
                 #t1所在的分片节点为mysql,也就是说mycat只会从mysql集群中去找t1
                
#通上
#mycat 会从两个分片节点去找t3 select user() select user()
[root@node119 ~]# vim /opt/mycat/conf/rule.xml

                2
                512

相关内容

热门资讯

烈焰熊熊,堪比“原子弹”,欧洲... 据美国有线电视新闻网(CNN)7月29日报道,席卷法国西南部的大片野火燃烧得如此猛烈,以至于形成了一...
外交部:对日本熊本县地震遇难者... 据凤凰卫视报道,针对日本熊本县发生强震造成人员伤亡,中国外交部发言人毛宁7月29日在例行记者会上表示...
高铁喧哗被劝阻后叫嚣全家体制内... “女子高铁喧哗被劝阻后叫嚣全家体制内”一事迎来官方通报。据新京报报道,7月29日,辽宁北票市公安局发...
广东专业蓝牙耳机定制厂家推荐,... 在珠三角腹地,广东早已成为全球蓝牙耳机产业链的“心脏地带”。从深圳华强北的声学元件批发,到东莞、惠州...
格雷厄姆葬礼变地缘竞价场!两大... 有些葬礼,送别的是逝者;有些葬礼,演的却是活人最现实的政治博弈。当地时间7月28日,美国老牌鹰派参议...
一道小学数学题难住3名医学博士... 3名不同学校的博士同做一道数学题,谁最厉害?近日,一陕西网友发布的视频引发热议。29日,视频发布者“...
华为全新“小艺任务”亮相:整合... 7月29日,在华为鸿蒙电脑新品技术沟通会上,终端云服务小艺业务部总裁贾永利宣布,小艺将迎来“从对话到...
广西日报特稿《王的猜想》火了,... 澎湃新闻记者 蒋子文 实习生 汤煜炜为应对外界购买纸质版特稿《王的猜想》的热情,《广西日报》宣布紧急...
月租20元内!2026年平价云... 不少手游玩家、账号运营从业者挑选云手机时,首要诉求就是低价够用,想要控制每月支出在20元以内,同时兼...
诺奖得主如何看待王虹境遇?“我... 中村修二(2014年诺贝尔物理学奖得主)【导读】近日王虹与邓煜双双获得2026年菲尔兹奖,成为了首批...