Windows配置mycat


MyCat使用Mysql的通訊協議模擬成一個MySQl服務器,並建立了完整的Schema(數據庫)Table(數據表)User(用戶)的邏輯模型,並將這套邏輯模型映射到后端的存儲節點DataNode上的真實的物理庫中,這樣一來所有能使用MySQL的客戶端及編程語言都能將Mycat當成MYSQLServer使用,不必開發新的客戶端。

Mycat的原理:當Mycat收到一個客戶端發送的SQL請求,會先對SQL進行語法分析和檢查,分析的結果用SQL路由,SQL路由策略支持傳統的基於表格的分片字段進行分片,也支持獨有的基於數據庫E-R關系的分別片策略,對於路由到多個數據節點(DataNode)的SQL,則會對收到的數據集進行”歸並“,然后輸出到客戶端。

DataNode是MyCat的邏輯數據節點,映射到后端的某一個物理數據庫的一個Datebase,為了做到系統高可用,每個DataNode可以配置多個引用地址(DataSource),當主DataSource被檢測為不可用時,系統會自動切換到下一個可用的DataSource上,這里的DataSoure即可認為是Mysql的主流服務器的地址。

 

1、下載安裝包 https://github.com/MyCATApache/Mycat-download/tree/master/1.5-RELEASE

 

2、配置環境變量(Mycat安裝包解壓在任何路勁即可,但是要避免中文路徑,因為我們要配置環境變量

  

  

3、修改配置文件(需要修改的配置文件都在conf文件夾中)

  (1)修改wrapper.conf 

   配置jdk

  

  (2)修改server.xml(定義用戶以及系統相關變量,如端口等,是mycat服務器參數調整和用戶授權的配置文件)

    配置mycat登錄的用戶名和密碼

  (3)修改schema.xml (定義邏輯庫,表、分片節點等內容)

    配置的一個全局表T_RANK,一個分庫表T_USER_LABEL,分庫規則是sharding-by-murmur(在rule.xml中定義)

    配置了三個數據庫db1,db2,db3

    

  (4)修改rule.xml

  在上面schema.xml文件中定義了一個分庫表T_USER_LABEL,分庫規則是sharding-by-murmur,所以要修改對應分庫字段

  

  同時上面定義了三個分庫,所以修改

  注:簡單介紹一下Mycat分庫規則

  MYCAT常用的分片規則如下,另外還有一些其他分片方式這里不全部列舉:

    (1)分片枚舉:        sharding-by-intfile

    (2)主鍵范圍約定:    auto-sharding-long    此分片適用於,提前規划好分片字段某個范圍屬於哪個分片

    (3)一致性hash:    sharding-by-murmur

    (4)字符串hash解析:  sharding-by-stringhash

    (5)按日期(天)分片:sharding-by-date

    (6)按單月小時拆分:   sharding-by-hour

    (7)自然月分片:         sharding-by-month

    (8)取模:      mod-long  此規則為對分片字段求摸運算

    (9)取模范圍約束:      sharding-by-pattern 此種規則是取模運算與范圍約束的結合,主要為了后續數據遷移做准備,即可以自主決定取模后數據的節點分布

4、啟動mycat

  (1)在原數據庫中新建3個數據庫db1,db2,db3

  (2)啟動和停止服務

    進入cmd.切換到./mycat/bin/

    注:安裝mycat服務 :mycate install

      啟動mycat服務 :mycate start

      停止mycat服務 :mycate stop

      注意:當修改配置文件后,需要重啟mycat服務

      mysql -h[IP] - u[userName] -p[password] -P8066

    

    在8066查看數據庫,使用數據庫添加表

    

    新建表

    

    使用navicat客戶端連接 端口是8066 用戶名和密碼是在上面server.xml中配置的

    (注意這里我犯了一個低級錯誤,連接名使用了冒號,由於這里的連接名會在生成一個相應的文件夾,所以這里的命名需要滿足windows文件名規范)

    

    

  至此,mycat配置完成,可以嘗試輸入insert語句,查看數據滿足分庫和全局表。。。。。。


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM