mycat安装及配置读写分离

安装前说明:自行安装jdk

以后操作默认已经安装了jdk

1.下载mycat

http://dl.mycat.org.cn/1.6.7.6/20220518163531/

#先进入opt目录
cd /opt
#使用wget命令下载
wget http://dl.mycat.org.cn/1.6.7.6/20220518163531/Mycat-server-1.6.7.6-release-20220518222606-linux.tar.gz
#解压缩
tar -zxvf Mycat-server-1.6.7.6-release-20220518222606-linux.tar.gz
#查看解压后的mycat,确认解压成功
ll

查看结果截图

#将解压后的mycat目录复制到/usr/local目录
cp mycat/ -r /usr/local/
#到/usr/local目录下确认复制成功
cd /usr/local

复制结果截图

2.修改配置文件

#进入配置文件目录
cd /usr/local/mycat/conf

主要修改配置文件server.xml、schema.xml、rule.xml,如下图

1)修改server.xml文件的<user>节点,将user节点的name属性改为自己定义的名称,也可以不改

<user name="mycat" defaultAccount="true">
                <property name="password">123456</property>
                <property name="schemas">TESTDB</property>
                <property name="defaultSchema">TESTDB</property>
                <!--No MyCAT Database selected 错误前会尝试使用该schema作为schema,不设置则为null,报错 -->

                <!-- 表级 DML 权限设置 -->
                <!--
                <privileges check="false">
                        <schema name="TESTDB" dml="0110" >
                                <table name="tb01" dml="0000"></table>
                                <table name="tb02" dml="1111"></table>
                        </schema>
                </privileges>
                 -->
        </user>

修改后保存退出

2)参照以下代码修改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="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://172.17.0.3:3306" user="root" password="123456">
                       <readHost host="hostS1" url="jdbc:mysql://172.17.0.4:3306" user="root" password="123456"/>
                  </writeHost>
          </dataHost>
  </mycat:schema>

dataHost中的balance改为3

dataHost标签上属性释义:

  • balance:负载均衡类型
    • 0:不开启读写分离机制,所有读操作都发送到当前可用的writeHost上
    • 1:全部的readHost与stand by writeHost参与select语句的负载均衡,
    • 2:所有读操作都随机在writeHost、readHost上分发
    • 3:所有读请求随机分发到writeHost对应的readHost执行,writeHost不负担读压力
  • writeType:负载均衡类型
    • 0:所有写操作发送到配置的第一个writeHost,当第一个writeHost宕机时,切换到第二个writeHost,重新启动后以切换后的为准,切换记录在配置文件:dnindex.properties
    • 1:所有写操作都随发送到配置的writeHost
    • 2:尚未实现
  • switchType:切换方式
    • -1:不自动切换
    • 1:自动切换(默认)
    • 2:基于MySql主从同步的状态来决定是否切换



作者:iEvans
链接:https://www.jianshu.com/p/26513f428ecf
来源:简书
著作权归作者所有。商业转载请联系作者获得授权,非商业转载请注明出处。

修改后保存退出

3.启动mycat

#进入bin目录
cd /usr/local/mycat/bin
#控制台启动mycat
./mycat console
#或者后台启动mycat
./mycat start

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值