安装前说明:自行安装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:尚未实现
- 0:所有写操作发送到配置的第一个writeHost,当第一个writeHost宕机时,切换到第二个writeHost,重新启动后以切换后的为准,切换记录在配置文件:
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