Mycat讀寫分離部署分享

安裝配置mycatjava

涉及到的安裝包:mysql

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

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

1安裝JDKspring

(1)建立java目錄sql


# 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,最後一行添加如下代碼mybatis


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

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

export CLASSPATH=.:$JAVA_HOME/lib

(5)使配置生效: app


# 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>

注:web0一、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配置

一、在Mycat-1主機上


# vi /etc/host

192.168.1.60  web01

192.168.1.61  web01

二、在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)web0一、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讀寫分離部署。

相關文章
相關標籤/搜索