【筆記】MyCat1.6 實現 MySQL5.7 讀寫分離
阿新 • • 發佈:2019-01-05
本文不涉及分片、分庫、分表。僅僅作為入門。
前提
已搭好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 連線。