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讀寫分離部署分享