mycat安装及使用 mycat读写分离

  • 准备与说明

centos7安装mycat,并配置基本读写分离

前提准备:

  1. 服务器安装好java环境变量
  2. 安装好两个mysql,并配置好了主从复制。mysql安装可以参考文章:https://blog.csdn.net/shuair/article/details/118393294,mysql主从复制可以参考文章:https://blog.csdn.net/shuair/article/details/118314814
  3. 若不配置读写分离,也就不用配置mysql的主从复制,则准备一个mysql即可
  • 下载

到官网下载mycat,浏览器下载导入到服务器或直接在服务器下载

wget http://dl.mycat.org.cn/1.6.7.6/20210303094759/Mycat-server-1.6.7.6-release-20210303094759-linux.tar.gz
  • 解压

将下载好的mycat压缩包解压到/usr/local目录下,解压后会生成mycat文件夹,这个目录不是强制的,是一般约定的目录

tar -zxvf Mycat-server-1.6.7.6-release-20210303094759-linux.tar.gz -C /usr/local
  • 改配置

修改配置文件 ,进入到/usr/local/mycat/conf文件夹

cd /usr/local/mycat/conf

这个文件夹下有三个重要的配置文件,后续要经常改动

  1. server.xml:定义用户以及系统相关变量,如端口等
  2. schema.xml:定义逻辑库,表、分片节点等内容
  3. rule.xml:定义分片规则
  • 修改server.xml

为了与mysql区分,将root用户名改成mycat

  • 修改schema.xml

整体替换,只保留有用的配置,可以提前备份schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="TESTDB" checkSQLschema="true" sqlMaxLimit="100" randomDataNode="dn1" dataNode="dn1"></schema>
        <dataNode name="dn1" dataHost="host1" database="testdb" />
        <dataHost name="host1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="jdbc" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!-- can have multi write hosts -->
                <writeHost host="hostM1" url="jdbc:mysql://写mysql的ip:端口号" user="root" password="密码">
                        <readHost host="hostS1" url="jdbc:mysql://读mysql的ip:端口号" user="root" password="密码"/>
                </writeHost>
        </dataHost>
</mycat:schema>

上面的配置其实是不能做到读写分离的,需要调整balance的值,当前的值为0

balance值的含义

  1. balance=0,不读写分离,读操作也发送到写mysql(mycat配置为writeHost,同一时间只有一个写mysql)上
  2. balance=1,读操作发送到所有读mysql、备写mysql(双主双从模式下,mycat中配置为stand by writeHost的为备写mysql)上
  3. balance=2,读操作发送到所有的读mysql、写mysql(包括主备)
  4. balance=3,读操作发送到所有的读mysql

为了方便验证,我们配置成2,实际生产应该配置成1或3

  • 不配置读写分离

若不配置读写分离,则balance设置为0,并删除readHost节点

  • 警告

如果配置多套schema、dataNode、dataHost节点,则应该按照schema写在一起、dataNode写在一起、dataHost写在一起的顺序配置,否则会启动报错

  • 启动

进入到/usr/local/mycat/bin文件夹

cd /usr/local/mycat/bin

控制台启动

./mycat console

后台启动

./mycat start

为了方便查看,我们选择控制台启动

  • 登录

登录mycat与登录mysql相同,注意端口号,而且需要指定host

后台管理窗口

mysql -umycat -p123456 -P9066 -h127.0.0.1

数据窗口

mysql -umycat -p123456 -P8066 -h127.0.0.1

我们选择数据端口登录,登录后就可以像操作mysql一样操作mycat了

  • 参考

https://www.bilibili.com/video/BV1WJ411x7bD

  • 2
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值