mycat的安裝與配置
前提:安裝需先實現主從復制(可查看我的文章:)mysql主從復制。另外,配置前請關掉selinux
此次測試環境總共有四臺機:
mycat: 10.0.0.20
mysqk主服務器:10.0.0.21
mysql從服務器:10.0.0.22
連接mycat的測試機:10.0.0.23
一、安裝mycat前,需先安裝jdk
1、 安裝jdk:
a、下載jdk:wget http://download.oracle.com/otn-pub/java/jdk/8u131-b11/d54c1d3a095b4ff2b6607d096fa80163/jdk-8u131-linux-x64.tar.gz?AuthParam=1499354067_6bf34c35bdf45c2f6ef460dc82c49f4e
b、sudo mkdir -p /usr/lib/jvm
c、sudo tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm
d、設置jdk的環境變量:sudo vim /etc/profile,添加如下內容
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_131
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATh=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
e、使配置文件立即生效:source /etc/profile
2、 安裝mycat
a、下載 mycat: wget http://120.198.248.32/cache/dl.mycat.io/1.6-RELEASE/Mycat-server-1.6-RELEASE-20161028204710- linux.tar.gz?ich_args2=26-06231713040835_044d141b8932d2152d29e0492792933b_10001002_9c886d25d4c6f5d39133518939a83798_0103cf91599d61486fa28f92a7e78cb9
b、解壓mycat: sudo tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local
c、設置mycat的環境變量:sudo vim /etc/profile,添加如下內容:
export MYCAT_HOME=/usr/local/mycat
export PATH=${MYCAT_HOME}/bin:$PATH
d、 使配置文件立即生效: source /etc/profile
e、 啟動mycat:mycat start
二、配置mycat,主要修改schema.xml和server.xml兩個文件
1、 修改schema.xml文件:
<!—此處的name為mysql對應的數據庫,建議設置跟數據庫一樣的名稱-->
<schema name="test001" checkSQLschema="false" sqlMaxLimit="100">
<!—此處的name為test001數據庫的表格,命名與數據庫的一致 -->
<table name="tb_test" dataNode="test001Node" />
</schema>
<!-- 此處的name需與上面table中的dataNode一致,dataHost可自定義,下來用得著,database為mysql數據庫 -->
<dataNode name="test001Node" dataHost="dtHost" database="test001" />
<!-- 此處的name需與dataNode中的dataHost一致,balance=1為讀寫分離,其它值默認 -->
<dataHost name="dtHost" maxCon="1000" minCon="10" balance="1"
writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100">
<!-- 此處默認 -->
<heartbeat>select user()</heartbeat>
<!-- 此處的url為主服務器的IP,端口默認,另外填寫連接mysql的正確用戶名和密碼 -->
<writeHost host="hostM1" url="10.0.0.21:3306" user="root"password="redhat">
<!-- 此處的url為從服務器的IP,端口默認,另外填寫連接mysql的正確用戶名和密碼 -->
<writeHost host="hostS1" url="10.0.0.22:3306" user="root"password="redhat" />
2、 配置server.xml
<!-- 此處的root和123456為連接mycat的用戶名與密碼,test001為數據庫,需與schema.xml中配置的數據庫一致 -->
<user name="root">
<property name="password">123456</property>
<property name="schemas">test001</property>
</user>
<!-- 此處的信息基本同上,但user用戶只有讀的權限-->
<user name="user">
<property name="password">user</property>
<property name="schemas">test001</property>
<property name="readOnly">true</property>
</user>
三、測試mycat
1、 在mysql主服務器添加數據庫:
a、 create database test001;
b、 use test001;
c、 create table tb_test(id int(3),name varchar(11));
d、 insert into tb_test values(1,’Lining’);
2、 進入mycat服務器,追蹤mycat 日誌:tail -f /usr/local/mycat/logs/mycat.log
3、 在測試機(即:10.0.0.23):
a、 登錄mycat:mysql -h10.0.0.20 -uroot -p123456 -P8066
b、 user test001;
c、 insert into tb_test values(2,‘Zhaoxiong’);
d、 完成後,即可在mysql中看到添加的數據,詳情如下圖
四、添加mycat的開機啟動
1、 sudo chmod +x /etc/rc.d/rc.local
2、 添加內容:sudo vim /etc/rc.d/rc.local
/usr/local/mycat/bin/mycat start &
以上是讀寫分離的全部過程,只是皮毛而已,如何要深究,可以查看mycat官網的教程。
mycat的安裝與配置