MYCAT读写分离,分库分表

一、读写分离

我这里的环境是mha(双主双从)+mycat

ip主机名

硬盘/G

内存/Gcpu/块
192.168.86.10master012022
192.168.86.20master022022
192.168.86.30slave012022
192.168.86.40slave022022
192.168.86.100manager2022
192.168.86.200mycat2022

https://blog.csdn.net/unito/article/details/129239262?spm=1001.2014.3001.5502mha双主双从

1.在主服务器上创建库和表

2.下载epel源

[root@mycat ~]# yum install epel-release

3.下载openjdk1.8

[root@mycat ~]# yum list | grep openjdk

java-1.8.0-openjdk-devel.x86_64          1:1.8.0.362.b08-1.el7_9        updates 


[root@mycat ~]# yum install -y java-1.8.0-openjdk-devel.x86_64

4.查看是否成功

5.下载mycat

http://dl.mycat.org.cn/1.6.6.1/Mycat-server-1.6.6.1-release-20181031195535-linux.tar.gz

下载后解包重定向到/usr/local下

 

6.设置环境变量

 启动mycat并查看日志是否成功:mycat start;tailf /usr/local/mycat/logs/wrapper.log

7.登录到mycat查看

 8.修改配置文件server.xml

server.xml

 这里关于root用户 的账户密码暂时不用改

9.在主服务器上创建一个用户 

 10.修改schema.xml

把里面全部改为 

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1"></schema>
        <dataNode name="dn1" dataHost="localhost1" database="hellodb" />
        <dataHost name="localhost1" maxCon="1000" minCon="10" balance="1"
                  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="host1" url="192.168.86.10:3306" user="root" password="123456">
                 <readHost host="host3" url="192.168.86.30:3306" user="root" password="123456"/>

                </writeHost>
                <writeHost host="host2" url="192.168.86.20:3306" user="root" password="123456">
                 <readHost host="host4" url="192.168.86.40:3306" user="root" password="123456"/>
                </writeHost>
        </dataHost>
</mycat:schema>

 11.重启mycat并查看端口

 12.在客户端上测试,可以不使用端口登录

 13.测试读写分离

在所有服务器上开启日志

在master和slave分别实时查看数据

14.在mycat上插入数据和查看数据

插入数据的命令只在master中看到

 查询的命令在slave主机中看到

二、分库分表

设置用户在server.xml

 设置schema.xml

        </schema>
        <dataNode name="dn2" dataHost="kaka1" database="kaka" />
        <dataNode name="dn3" dataHost="kaka2" database="kaka" />

        <dataHost name="kaka1" maxCon="1000" minCon="10" balance="0"
                  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="kaka1" url="192.168.86.10:3306" user="root" password="123456" />
        </dataHost>
        <dataHost name="kaka2" maxCon="1000" minCon="10" balance="0"
                  writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <writeHost host="kaka2" url="192.168.86.20:3306" user="root" password="123456" />
        </dataHost>

 设置rule.xml

修改红框标注的部分

创建库

 登录到mycat

插入数据

 10两条数据

 20两条数据

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值