mycat是一個數據庫中間件,在此不作多介紹,今天咱們直接上入門級的搭建demo。java
本例子用的是兩臺mysql數據庫mysql
搭建mycat環境以前確保本身的機器上已經安裝了djk1.7及以上虛擬機,由於mycat是Java寫的中間件,須要Java運行環境。mysql數據支持5.6及更高版本,須要提早安裝好。git
假設以上兩個條件已經知足(以上環境未搞定,到此結束吧,別往下玩了!),那咱們開始進入操做階段:github
到改地址 https://github.com/MyCATApache/Mycat-download 下載與本身機器對應的版本,個人機器數Unix。因此下載的是 Mycat-server-1.6-RELEASE-20161028204710-mac.tar.gzsql
下載完成後直接解壓文件便可。數據庫
根據本身機器的實際狀況配置就好:app
wrapper.java.additional.1=-DMYCAT_HOME=. wrapper.java.additional.2=-server wrapper.java.additional.3=-XX:MaxPermSize=64M wrapper.java.additional.4=-XX:+AggressiveOpts wrapper.java.additional.5=-XX:MaxDirectMemorySize=1024M wrapper.java.additional.6=-Dcom.sun.management.jmxremote wrapper.java.additional.7=-Dcom.sun.management.jmxremote.port=1984 wrapper.java.additional.8=-Dcom.sun.management.jmxremote.authenticate=false wrapper.java.additional.9=-Dcom.sun.management.jmxremote.ssl=false wrapper.java.additional.10=-Xmx100M wrapper.java.additional.11=-Xms100M
<property name="serverPort">8066</property> <property name="useZKSwitch">false</property> <property name="defaultSqlParser">druidparser</property> <user name="root"> <property name="password">123456</property> <property name="schemas">dev,testDB</property> </user> <user name="user"> <property name="password">user</property> <property name="schemas">test_user</property> </user>
mycat默認端口是8806,不使用zk方式連接,本次實驗用了兩臺MySQL數據庫,一臺本機的數據庫用戶名直接用root並指定只有dev、testDB兩個schema,另一臺是遠程機器的數據庫,用了user用戶並指定只能操做test_user這個schema。ui
<?xml version="1.0"?> <!DOCTYPE mycat:schema SYSTEM "schema.dtd"> <mycat:schema xmlns:mycat="http://io.mycat/"> <schema name="dev" checkSQLschema="false" sqlMaxLimit="100" dataNode="dev"></schema> <schema name="testDB" checkSQLschema="false" sqlMaxLimit="100" dataNode="testDB"></schema> <schema name="test_user" checkSQLschema="false" sqlMaxLimit="100" dataNode="test_user"> </schema> <dataNode name="dev" dataHost="localhost1" database="dev" /> <dataNode name="testDB" dataHost="localhost1" database="testDB" /> <dataNode name="test_user" dataHost="remote" database="test_user" /> <dataHost name="localhost1" maxCon="100" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select 1</heartbeat> <writeHost host="hostS1" url="localhost:3306" user="root" password="123456" /> </dataHost> <dataHost name="remote" maxCon="100" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select 1</heartbeat> <writeHost host="hostS1" url="192.1168.0.101:3306" user="user" password="user" /> </dataHost> </mycat:schema>
改配置是分片規則的配置,在此次簡單入門中咱們暫時不作分片規則處理。之後有時間再補上。url
以上配置好以後,啓動mysql。而後進入mycat安裝目錄下的bin目錄中,啓動mycat服務。rest
./mycat start 啓動 ./mycat stop 中止 ./mycat console 前臺運行 ./mycat install 添加到系統自動啓動(暫未實現) ./mycat remove 取消隨系統自動啓動(暫未實現) ./mycat restart 重啓服務 ./mycat pause 暫停 ./mycat status 查看啓動狀態
運行啓動腳本咱們能夠查看日誌是否啓動成功:
tail -f logs/wrapper.log
啓動成功後咱們連接mycat:
mysql -uroot -p123456 -h127.0.0.1 -P8806
連接上以後就跟mysql操做相同的了。到此已經完美。