1. 程式人生 > >mycat+mysql實現多租戶配置

mycat+mysql實現多租戶配置

前言

網上的許多mycat安裝教程並不能解決我遇到的問題,特此記錄一下

mycat安裝

mycat的安裝很簡單,但是版本很重要,我就在這裡栽了跟頭… 一開始隨便在網上找了一個版本如下: 在這裡插入圖片描述

解壓後安裝步驟如下:

  1. 配置環境變數path: D:\mycat1.4\Mycat-server-1.4-release-20151019230038-win\mycat\bin
  2. 以管理員身份執行cmd並輸入: mycat.bat install
  3. 啟動mycat服務: mycat.bat start 到這裡應該可以正常啟動了!
資料來源配置

首先建立兩個資料庫 在這裡插入圖片描述

表的結構完全一致

然後編輯mycat的兩個主要的配置檔案:schema.xml和server.xml

schema.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連線: 在這裡插入圖片描述

mycat的預設埠號是8066

測試連結成功了,然後開啟資料庫出現了一個錯誤:

no Mycat database selected!!!

我對照了網上的發現數據源配置沒有問題,查了很多資料發現都不行

後來我意識到網上的教程使用的mycat版本似乎和我的不一樣:

這是我安裝的mycat的配置檔案: 在這裡插入圖片描述

網上的: 在這裡插入圖片描述

於是我試著去mycat的官網去下載mycat,發現下載下來的配置檔案就和網上的一樣了,按上述步驟配置後一切就正常了,這也是一個教訓,官網還是最靠譜的!

注:重灌mycat服務需要解除安裝原有的服務,重灌步驟:

  1. cmd管理員模式輸入: sc delete mycat
  2. 重新配置環境變數
  3. 執行上述安裝步驟即可