【Mysql中間件】Mycat安裝部署+讀寫分離

說明:
mysql-master:172.16.200.43
Mycat:172.16.200.43
mysql-slave1:172.16.200.45
mysql-slave2:172.16.200.46
.......................................................................................
MariaDB5.5.51數據庫
..............................................................................................html

1、 安裝jdk

一、檢查是否安裝java

# java -version

二、安裝jdk包

網址:http://www.oracle.com/technet...
上傳至/usr/local/java目錄下java

三、修改環境變量文件,添加以下內容;

添加完成後,source /etc/profile
vi /etc/profilemysql

#add java
export JAVA_HOME=/usr/local/java/jdk1.7.0_80
export JAVA_BIN=/usr/local/java/jdk1.7.0_80/bin
export PATH=$PATH:/usr/local/java/jdk1.7.0_80/bin
export CLASSPATH=./:/usr/local/java/jdk1.7.0_80/lib:/usr/local/java/jdk1.7.0_80/jre/lib
MYCAT_HOME=/usr/local/mycat
export JAVA_HOME JAVA_BIN PATH CALSSPATH

2、mycat安裝配置讀寫分離

一、解壓縮至目錄/usr/local/

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

二、查看配置文件

配置文件很是多.若是隻是簡單配置在不一樣的服務器上進行讀寫分離只須要配置兩個文件 server.xml 和  schema.xmllinux

三、先配置server.xml

<user name="root">
        <property name="password">123456</property>
        <property name="schemas">test</property>
    </user>
    <user name="user">
        <property name="password">123456</property>
        <property name="schemas">test</property>
        <property name="readOnly">true</property>
    </user>

四、配置schema

<!DOCTYPE mycat:schema SYSTEM "schema.dtd">
<mycat:schema xmlns:mycat="http://io.mycat/">
        <schema name="test" checkSQLschema="false" sqlMaxLimit="100" dataNode="dn_test"> </schema>
        <dataNode name="dn_test" dataHost="dh_43" database="test" />
        <dataHost name="dh_43" maxCon="1000" minCon="10" balance="1"
                          writeType="0" dbType="mysql" dbDriver="native" switchType="1"  slaveThreshold="100">
                <heartbeat>select user()</heartbeat>
                <!-- can have multi write hosts -->
                <writeHost host="43_M" url="172.16.200.43:3306" user="root"
                                   password="000000">
                        <!-- can have multi read hosts -->
                        <readHost host="45_S1" url="172.16.200.45:3306" user="root" password="000000" />
                        <readHost host="46_S2" url="172.16.200.46:3306" user="root" password="000000" />
                </writeHost>
                <!-- <writeHost host="hostM2" url="localhost:3316" user="root" password="123456"/> -->
        </dataHost>

五、開啓mycat

./mycat startsql

六、查看端口

# netstat -tnlp
TCP *:9066 (LISTEN) #虛擬schema管理端口 
TCP *:8066 (LISTEN) #虛擬schema登錄端口 

能看到這個說明我們的Mycat已經啓動成功了數據庫

七、登陸mycat讀寫分離服務:

# mysql -uroot -p123456 -h127.0.0.1 -P 8066

八、登陸mycat管理端:

# mysql -uroot -p123456 -h127.0.0.1 -P 9066
Mysql> show @@heartbeat;

clipboard.png
RS_CODE爲1表示心跳正常
Mysql> show @@datasource; --查看讀寫分離的機器配置狀況服務器

3、 mycat讀寫分離驗證

一、更改日誌的輸出模式

vi log4j.xml
修改<asyncRoot level="info" includeLocation="true">
爲 <asyncRoot level="debug" includeLocation="true">oracle

二、建立表

# mysql -uroot -p123456 -h127.0.0.1 -P 8066
mysql> create table test (id bigint not null primary key,user_id varchar(100),date DATE, fee decimal);

三、插入數據

mysql> insert into test(id,user_id,date,fee)  values(1,@@hostname,20161201,100);
mysql> insert into test(id,user_id,date,fee)  values(5000001,@@hostname,20161202,100);

四、查詢觀察日誌的變化

mysql> select * from test
tail -f wrapper.logapp

clipboard.png

說明讀寫分離成功async

相關文章
相關標籤/搜索