【笔记】MyCat1.6 实现 MySQL5.7 读写分离

本文不涉及分片、分库、分表。仅仅作为入门。

前提
已搭好MySQL5.7主从复制环境,参考这里

下载
Mycat下载地址
http://dl.mycat.io/
我下载的是Mycat-server-1.6-RELEASE-20161028204710-linux.tar

安装

解压到/usr/local目录下,即mycat目录

配置java环境变量及mycat Home路径

vim /etc/profile

export JAVA_HOME=/usr/lib/java-1.8/jdk1.8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
export MYCAT_HOME=/usr/local/mycat

立即生效

source /etc/profile

配置/mycat/conf/server.xml

<user name="user">
    <property name="password">user</property>
    <property name="schemas">Test</property>
    <property name="readOnly">true</property>
</user>

说明:name mycat连接账号相当于mysql的账号;schemas 中的Test是数据库名

配置/mycat/conf/schema.xml

<?xml version="1.0"?>
<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">

        <schema name="Test" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn1" ></schema>

        <dataNode name="dn1" dataHost="master" database="Test" />

        <dataHost name="master" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" >
                <heartbeat>select user()</heartbeat>

                <writeHost host="hostM1" url="192.168.3.91:3306" user="root" password="root">
                        <readHost host="hostS2" url="192.168.3.92:3306" user="root" password="root" />
                </writeHost>
                <!--<writeHost host="hostS1" url="192.168.3.92:3306" user="root"  password="root" /> -->

        </dataHost>


</mycat:schema>

开放mycat默认端口8066

扫描二维码关注公众号,回复: 1650468 查看本文章
vim /etc/sysconfig/iptables
-A INPUT -p tcp -m tcp --dport 8066 -j ACCEPT
service iptables restart

也可以将mycat 端口修改为3306,这样就不用改程序的数据库连接。

测试
用mysql连接
mysql -uuer -puser -h192.168.3.151 -P8066

或者用Navicat Preminum 连接。

猜你喜欢

转载自blog.csdn.net/jul_11th/article/details/80306052