mycat+mysql實現多租戶配置
阿新 • • 發佈:2018-12-17
前言
網上的許多mycat安裝教程並不能解決我遇到的問題,特此記錄一下
mycat安裝
mycat的安裝很簡單,但是版本很重要,我就在這裡栽了跟頭… 一開始隨便在網上找了一個版本如下:
解壓後安裝步驟如下:
- 配置環境變數path:
D:\mycat1.4\Mycat-server-1.4-release-20151019230038-win\mycat\bin
- 以管理員身份執行cmd並輸入:
mycat.bat install
- 啟動mycat服務:
mycat.bat start
到這裡應該可以正常啟動了!
資料來源配置
首先建立兩個資料庫
表的結構完全一致
然後編輯mycat的兩個主要的配置檔案:schema.xml和server.xml
<mycat:schema xmlns:mycat="http://org.opencloudb/"> <schema name="cb" checkSQLschema="false" sqlMaxLimit="100"> <table name="bom" dataNode="dn1,dn2" /> </schema> <dataNode name="dn1" dataHost="localhost1" database="db01" /> <dataNode name="dn2" dataHost="localhost1" database="db02" /> <dataHost name="localhost1" maxCon="1000" minCon="10" balance="0" writeType="0" dbType="mysql" dbDriver="native" switchType="1" slaveThreshold="100"> <heartbeat>select user()</heartbeat> <writeHost host="hostS1" url="localhost:3306" user="root" password="root"> <readHost host="hostS2" url="localhost:3306" user="root" password="root" /> </writeHost> </dataHost> </mycat:schema>
server.xml只需改一下mycat的schemas和密碼:
<user name="root">
<property name="password">root</property>
<property name="schemas">cb</property>
<!-- <property name="readOnly">true</property> -->
</user>
schemas和schema.xml中配置的schema對應
重啟mycat服務
然後開啟navicat新建mysql連線:
測試連結成功了,然後開啟資料庫出現了一個錯誤:
no Mycat database selected!!!
我對照了網上的發現數據源配置沒有問題,查了很多資料發現都不行
後來我意識到網上的教程使用的mycat版本似乎和我的不一樣:
這是我安裝的mycat的配置檔案:
網上的:
於是我試著去mycat的官網去下載mycat,發現下載下來的配置檔案就和網上的一樣了,按上述步驟配置後一切就正常了,這也是一個教訓,官網還是最靠譜的!
注:重灌mycat服務需要解除安裝原有的服務,重灌步驟:
- cmd管理員模式輸入:
sc delete mycat
- 重新配置環境變數
- 執行上述安裝步驟即可