0
点赞
收藏
分享

微信扫一扫

mycat读写分离

第一步:安装JDK

shell > tar xvf jdk-8u192-linux-x64.tar.gz

shell > mv jdk1.8.0_192 /usr/local/java
#追加环境变量

shell > echo "PATH=/usr/local/java/bin:$PATH" >> /etc/profile

shell > source /etc/profile

#检测java环境变量 如果看到版本信息即为成功
shell > java -version

第二步:解压安装mycat

shell > tar xvf Mycat-server-1.6.5-release-20180122220033-linux.tar.gz -C /usr/local

第三步:启动mycat

/usr/local/mycat/bin/mycat console

第四步:修改schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
<!-- 1、TESTDB和server.xml配置文件中的映射的数据库名称要一致 dataNone填写下面的dataNode名称 -->
<schema name="TESTDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn3"></schema>
<!-- 2、dataNode name和上面的一致 dataHost填写下面的dataHost的name名称 database填写后端真实数据库名称-->
<dataNode name="dn3" dataHost="localhost1" database="tp5shop" />
<!-- 3、可以配置负载均衡、读写分离算法 暂时可以不用动-->
<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<!-- 对后端数据库服务器 发送的心跳检测 -->
<heartbeat>select user()</heartbeat>
<!-- can have multi write hosts -->
<!-- 4、配置后端真实数据库的相关登录信息 -->
<writeHost host="hostM1" url="192.168.17.100:3306" user="tp5shop" password="$Abc3721">
<!-- can have multi read hosts -->
<readHost host="hostS2" url="192.168.17.105:3306" user="tp5shop" password="$Abc3721" />
</writeHost>
<!-- <writeHost host="hostS1" url="localhost:3316" user="root" password="123456" />-->
<!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
</dataHost>
</mycat:schema>

第四步:启动mycat

/usr/local/mycat/bin/mycat start

balance属性和writeType属性
balance

1、balance="0", 不开启读写分离机制,所有读操作都发送到当前可用的 writeHost 上。

2、balance="1", 全部的 readHost 与 stand by writeHost 参与 select 语句的负载均衡,简单的说,当双主双从模式(M1->S1,M2->S2,并且 M1 与 M2 互为主备),正常情况下,M2,S1,S2 都参与 select 语句的负载均衡。

3、balance="2", 所有读操作都随机的在 writeHost、readhost 上分发。

4、balance="3", 所有读请求随机的分发到 writerHost 对应的 readhost 执行,writerHost 不负担读压力,注意 balance=3 只在 1.4 及其以后版本有,1.3 没有。

writeType​

1、writeType="0", 所有写操作发送到配置的第一个 writeHost,第一个挂了切到还生存的第二个writeHost,重新启动后已切换后的为准.

2、writeType="1",所有写操作都随机的发送到配置的 writeHost,1.5 以后废弃不推荐

举报

相关推荐

0 条评论