Mycat安裝部署簡單使用
Mycat安裝部署簡單使用
1. 軟體準備
Mycat:下載地址:https://github.com/MyCATApache/Mycat-download。下載介面圖 1‑1 Mycat首頁下載介面。任意選中RELEASE版本,進入RELEASE版本目錄,如下所示圖 1‑2 1.4RELEASE目錄下,
Mysql:下載地址:http://download.csdn.net/download/lxq_xsyu/6468461。
Jdk:下載32或64位對應版本
Navicat for mysql 或workbench:準備資料庫視覺化工具主要是方便檢視。如果使用mysql終端檢視也可。不過使用mysql終端檢視就不在此描述了。
圖 1‑1 Mycat首頁下載介面
圖 1‑2 1.4RELEASE目錄下
2. 軟體配置
2.1. Jdk安裝配置
雙擊jdk的安裝檔案,預設安裝(本人使用的是jdk1.8)。
配置環境變數:
JAVA_HOME=C:\ProgramFiles\Java\jdk1.8.0_05
CLASSPATH=%JAVA_HOME%\lib\dt.jar;%JAVA_HOME%\lib\tools.jar
在Path環境變數中新增%JAVA_HOME%\bin;%JAVA_HOME%\jre\bin
驗證jdk安裝配置成功。在CMD中輸入javar -version。顯示如下圖 2‑1 驗證JDK配置,即配置成功。
圖 2‑1 驗證JDK配置
2.2.Mysql安裝配置
按照預設方式安裝Mysql即可。可通過配置環境變數,快捷進入Mysql。在Path環境變數中新增Mysql安裝目錄下bin路徑(mysql.exe所在路徑)。
2.3. Mycat安裝配置
Mycat下載完成後,解壓。注意:解壓後放置的目錄路徑不能包含中文,否則,啟動mycat時,log日誌提示找不到指定路徑,但終端提示啟動成功(
圖 2‑2 Mycat解壓後目錄
Bin目錄為執行目錄,conf目錄存放的是配置檔案,lib目錄存放的是依賴包,logs目錄存放日誌檔案(可以通過檢視日誌資訊,判斷mycat是否執行出錯)。Catlet目錄暫時不知作用。
啟動Mycat服務前,需要配置Mycat相關資料。進入conf目錄。conf目錄結構如下圖 2‑3 conf目錄結構
圖 2‑3 conf目錄結構
主要的配置檔案已經標出。schema.xml檔案配置邏輯庫,節點,主機等。如下圖 2‑4 schema.xml配置:
圖 2‑4 schema.xml配置
Schema.xml檔案中標籤<schema>為Mycat客戶端所有,即從Mycat開發介面看來,資料庫名稱為db,資料庫表為company,task,user。
Company表以規則sharding-by-id對映在分片db1,db3。即實際儲存位置。
Task表以規則sharding-by-id對映在分片db1,db2,db3。即實際儲存位置。
User表以規則sharding-by-id對映在分片db1,db2上。即實際儲存位置。
分片db1在dataHost為connectToIP40機器,資料庫名稱為db1的位置。
分片db2在dataHost為connectToIP40機器,資料庫名稱為db2的位置。
分片db3在dataHost為connectToIP42機器,資料庫名稱為db3的位置。
主機名為connectToIP40的機器上(IP為192.168.6.40)可寫的資料庫例項的IP地址為192.168.6.40:3306,資料庫使用者名稱和密碼為root。一個主機可以有多個數據庫例項,所以IP地址一樣,但埠號不一致。
主機名為connectToIP42的機器上(IP為192.168.6.42)可寫的資料庫例項的IP地址為192.168.6.42:3306,資料庫使用者名稱和密碼為root。一個主機可以有多個數據庫例項,所以IP地址一樣,但埠號不一致。
注意:需要手動在connectToIP40的機器上建立資料庫db1,db2;在connectToIP42的機器上建立資料庫db3。否則啟動mycat伺服器報錯:無法連結到資料庫。
Server.xml的配置如下圖 2‑5 server.xml配置
圖 2‑5 server.xml配置
配置用於Mycat的資料庫的使用者名稱和密碼以及邏輯庫名稱。此處的邏輯庫名稱與schema.xml配置中schema標籤的資料庫名一致。注:其餘使用者名稱,密碼最好刪除。
rule.xml的配置用於資料分片規則定義。Schema.xml中表格配置的rule都是在rule.xml中定義的。此處不在描述。
3. 驗證Mycat分片是否可用
在部署了Mycat服務端的機器上安裝navicat for mysql或workbench。以下使用的是navicat。
Mycat服務端可以和分片節點機器在同一臺機器上。由於本次示例的Mycat服務端和分片節點機器不在同一臺機器上,所以Mycat服務端所在機器上需要按照Mysql。按照Mysql操作參見章節2.2。
配置connectToIP40的連結。配置如下圖 3‑1 connectToIP40連結配置
圖 3‑1 connectToIP40連結配置
配置connectToIP42,配置如下圖 3‑2 connectToIP42連結配置
圖 3‑2 connectToIP42連結配置
配置Mycat的連結如下圖 3‑3 Mycat客戶端連結配置(localhost的地址必須為Mycat服務端所在IP):
圖 3‑3 Mycat客戶端連結配置
注意:如果連結不上遠端mysql服務,需要對使用者進行授權,授權SQL不在此書寫。網路上能搜出一大把。
利用視覺化工具對各機器節點上建立資料庫。例如:需要手動在connectToIP40的機器上建立資料庫db1,db2;在connectToIP42的機器上建立資料庫db3。否則啟動mycat伺服器報錯:無法連結到資料庫。
建立成功後如下圖 3‑4 建立資料庫
圖 3‑4 建立資料庫
可在連結connectToMycatClient的db資料庫上建立表格,表格會根據分片規則自動在40,以及42節點資料庫上建立(有一定延時,需要手動重新整理連結)。例如建立company表格,最終效果如下圖 3‑5 驗證Mycat:company表格是在分片db1,db3上
圖 3‑5 驗證Mycat
同理建立其餘表格。插入、刪除、更新資料同建立表格操作類似。注意:都必須在mycat所在連結資料庫上操作。至此,Mycat安裝部署簡單使用完成。