1. 程式人生 > >mycat的安裝與配置

mycat的安裝與配置

mod node 命名 我的文章 ima 讀寫 配置 cnblogs ram

前提:安裝需先實現主從復制(可查看我的文章:)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的安裝與配置