說明:
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
# java -version
網址: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
# tar zxvf Mycat-server-1.6-RELEASE-20161028204710-linux.tar.gz
配置文件很是多.若是隻是簡單配置在不一樣的服務器上進行讀寫分離只須要配置兩個文件 server.xml 和 schema.xmllinux
<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>
<!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 startsql
# netstat -tnlp TCP *:9066 (LISTEN) #虛擬schema管理端口 TCP *:8066 (LISTEN) #虛擬schema登錄端口
能看到這個說明我們的Mycat已經啓動成功了數據庫
# mysql -uroot -p123456 -h127.0.0.1 -P 8066
# mysql -uroot -p123456 -h127.0.0.1 -P 9066 Mysql> show @@heartbeat;
RS_CODE爲1表示心跳正常
Mysql> show @@datasource; --查看讀寫分離的機器配置狀況服務器
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
說明讀寫分離成功async