mycat的安裝與配置


前提:mycat安裝前需先實現主從復制,主從復制不會的,請看 文章 。另外,配置前需關掉selinux。

 

一、此次測試環境總共有四台機:

 

mycat:          10.0.0.20
mysql_master:  10.0.0.21
mysql_slave:   10.0.0.22
測試機:         10.0.0.23            

 

 

二、安裝mycat前,需先安裝jdk

  1、 安裝jdk

    1)安裝jdk

#下載jdk
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html

#創建jdk保存目錄
$ sudo mkdir -p /usr/lib/jvm

#解壓jdk
$ sudo tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/lib/jvm

 

    2)設置jdk環境變量

添加環境變量
$ sudo vim /etc/profile

【 /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

#使變量環境立刻生效
$ source /etc/profile

 

  2、安裝mycat

#下載mycat
http://dl.mycat.io/1.6-RELEASE/

#解壓mycat
$ sudo tar -zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz -C /usr/local

#設置mycat環境變量
$ sudo vim /etc/profile

    export MYCAT_HOME=/usr/local/mycat
    export PATH=${MYCAT_HOME}/bin:$PATH

#使環境變量立刻生效
source /etc/profile

#啟動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主服務器添加數據庫

#進入數據庫
$ mysql -uroot -p

#數據庫操作
mysql> create database test001;
mysql> use test001;
mysql> create table tb_test(id int(3),name varchar(11));
mysql> insert into tb_test values(1,’Lining’);

 

 

  2、 進入mycat服務器,追蹤mycat 日志。

$ sudo tail -f /usr/local/mycat/logs/mycat.log

 

  3、 在測試機操作。

# 在mycat服務器上登錄遠程數據庫
$ mysql -h10.0.0.20 -uroot -p123456 -P8066

#數據庫操作
mysql> user test001;
mysql> insert into tb_test values(2,‘Zhaoxiong’);

 

 詳情如下圖

 

 

 

五、添加mycat的開機啟動

 

#賦予rc.loca可執行權限
$ sudo chmod +x /etc/rc.d/rc.local

#添加內容
$ sudo vim /etc/rc.d/rc.local

  /usr/local/mycat/bin/mycat start &

 

以上是讀寫分離的全部過程,只是皮毛而已,如何要深究,可以查看mycat官網的教程。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM