1. 程式人生 > >【筆記】MyCat1.6 實現 MySQL5.7 讀寫分離

【筆記】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

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 連線。