1. 程式人生 > >Mycat讀寫分離部署分享

Mycat讀寫分離部署分享

需要 linu profile 關閉 hosts配置 sts sla err 內容

安裝配置mycat

涉及到的安裝包:

安裝包:Mycat-server-1.6-RELEASE-linux.tar.gz

依賴環境:jdk-7u75-linux-x64.tar.gz

1安裝JDK

(1)創建java目錄


# mkdir -p /usr/local/java

(2)上傳JDK到/usr/local/java目錄下

(3)解壓jdk-7u75-linux-x64.tar.gz


# cd /usr/local/java

# tar -zxvf jdk-7u75-linux-x64.tar.gz

(4)設置JAVA_HOME:修改配置文件vi /etc/profile,最後一行添加以下代碼


export JAVA_HOME=/usr/local/java/jdk1.7.0_75

export PATH=$HOME/bin:$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib

(5)使配置生效:


# source /etc/profile

2創建mycat用戶並設置密碼


# useradd mycat

# passwd mycat

3安裝mycat

(1)上傳Mycat-server-1.6-RELEASE-linux.tar.gz安裝包到/usr/local/目錄下;

(2)解壓Mycat


# cd /usr/local/

# tar -zxvf Mycat-server-1.6-RELEASE-linux.tar.gz

設置mycat的環境變量,編輯vi /etc/profile,最後一行添加以下代碼


export MYCAT_HOME=/usr/local/mycat

export PATH=$PATH:$MYCAT_HOME/bin

使配置生效:


# source /etc/profile

4編輯配置文件schema.xml

(1)路徑:/usr/local/mycat/conf/schema.xml


# vi /usr/local/mycat/conf/schema.xml

(2)配置文件內容:


<?xml version="1.0"?>

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">

<mycat:schema xmlns:mycat="http://org.opencloudb/">

<schema name="zabbix" checkSQLschema="false" sqlMaxLimit="100">  ##修改mycat數據庫名稱為zabbix

    <table name="user" dataNode="dn1,dn2" rule="auto-sharding-long" />  

    <table name="stat_tcp_stream" dataNode="dn2,dn3" rule="auto-sharding-long" />  

</schema>  

<dataNode name="dn1" dataHost="localhost1" database="zabbix" />  ##修改mycat數據庫database為zabbix

<dataNode name="dn2" dataHost="localhost2" database="mpos_tshark_miner2014" />  

<dataNode name="dn3" dataHost="localhost3" database="mpos_tshark_hrtel" />  

<dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" dbType="mysql" dbDriver="jdbc" writeType="0" switchType="1"  slaveThreshold="100">  

    <heartbeat>select user()</heartbeat>  

    <writeHost host="suse01" url="web01:3306" user="zabbix" password="zabbix123"></writeHost>  ##修改host名稱為數據庫服務器ip  user與password對應修改

</dataHost>  

<dataHost name="localhost2" maxCon="1000" minCon="1" balance="0" dbType="mysql" dbDriver="jdbc">   

    <heartbeat>       </heartbeat>  

     <readHost host="suse02" url="web02:3306" user="zabbix"  password="zabbix123"></readHost>   ##修改host名稱為數據庫服務器ip  user與password對應修改

 </dataHost>        

</mycat:schema>

註:web01、web02寫的是主機名稱,web01配置為讀,web02配置為寫;


5 編輯配置文件server.xml

(1)路徑:/usr/local/mycat/conf/server.xml


# vi /usr/local/mycat/conf/server.xml

(2)配置文件內容:


</system>

<user name="root">  

    <property name="password">123456</property>  

    <property name="schemas">zabbix</property>  

</user>  

<user name="zabbix">  

    <property name="password">zabbix123</property>  

    <property name="schemas">zabbix</property>  

    <property name="readOnly">true</property>  

</user>   

 <!--以上配置的是連接mycat的用戶名和密碼-->  

</mycat:server>


6 修改wrapper.conf路徑

(1)編輯配置文件


# vi /usr/local/mycat/conf/wrapper.conf

(2)配置wrapper.java.command參數java路徑(按實際安裝路徑修改)

#****Wrapper Properties**

#****Java執行命令,默認即可****

wrapper.java.command=java ##修改java路徑為/usr/local/java/java-*/bin/java

wrapper.working.dir=..

……….

……….

Wrapper.java.additional.5=-XX:MaxDirectMemorySize=4G #第31行根據需要配置相應的內存大小


7 編輯mycat日誌類型

(1)修改log4j2.xml日誌類型


# vi /usr/local/mycat/conf/log4j2.xml

(2)配置內容:


修改<asyncRoot level="info"(可以設置為off、error 、warning生產環境切記不可為debug)
<logger name="org.springframework" level="INFO"></logger> ##修改info為off
<logger name="org.mybatis" level="INFO"></logger>
<root level="all">
<appender-ref ref="Console"/>
<appender-ref ref="RollingFileInfo"/>
<appender-ref ref="RollingFileWarn"/>
<appender-ref ref="RollingFileError"/>
</root>
</loggers>


8 編輯hosts配置

1、在Mycat-1主機上


# vi /etc/host

192.168.1.60  web01

192.168.1.61  web01

2、在Mycat-2主機上


# vi /etc/host

192.168.1.60  web02

192.168.1.61  web02

備註:

(1)192.168.1.60為數據庫主庫的IP地址;192.168.1.61為數據庫從庫的IP地址;

(2)web01、web02分別是當前mycat服務器的hostname

(3)兩臺mycat服務器均需要做同樣的操作

(4)數據庫服務與mycat服務器跨主機部署采用如上配置


9 啟動mycat

運行命令:


# /usr/local/mycat/bin/mycat start (重啟mycat restart,關閉 mycat stop)

10 測試mycat

使用Navicat for MySQL軟件連接mycat:

端口號為8066

賬戶密碼為server.xml中文件賬號和密碼;以實際數據庫配置帳號為準;

說明:進行讀寫操作,查看/usr/local/mycat/logs/相關日誌。

至此完成mycat讀寫分離部署。

Mycat讀寫分離部署分享