吊炸天MyCat入門

MyCat 中間件具體做什麼的百度一下你就知道,本人只是記錄下自己踩的坑

建議:不懂的,可以先去看官網介紹,官網推出的文檔:mycat權威指南  不錯的。看人多看看,主要是理論知識點懂了就好,具體使用全是配置文件,因爲具體的數據擴容算法都是別人寫好的,我們只是copy,以下只是簡單的使用。

官網鏈接

http://www.mycat.org.cn/

 

前置條件

本教程是在window環境下運行的,實際生產推薦在Linux上運行。 
必備條件(自行安裝,如果不會裝請先打好基礎在來學習):

  • JDK:建議是1.7及其以上。
  • MySQL:必須是5.5及其以上(最好是5.7,現在主流技術都支持5.7,版本低容易導致數據缺失)

下載地址:http://dl.mycat.io/1.6-RELEASE/

流程圖: mycat 中間件【展示的就是邏輯庫】

 

 

正式入門開始:

首先建立三個數據庫,創建表,其中tb_user不會拆分,只在db0上存在,role則放在兩個數據庫中 分別如下

這裏簡單介紹下 mycat的 主要使用的幾個配置文件 

conf目錄下編輯service.xml,rule.xml,schema.xml三個文件。

service.xml:配置mycat 的用戶名密碼 數據庫名稱 對應到schema中的名稱

rule.xml:配置拆分規則

schema.xml:配置 數據節點,邏輯物理數據庫地址,拆分引入規則名稱對應到rule.xml

 

 

 

 

 

然後就可以啓動測試了

bin目錄下的 startup_nowrap.bat 雙擊就好

說一下遇到的坑(bug),因爲是mycat是java語言編寫的,具體報錯大家可以看控制檯或者log

Mycat查表報錯find no Route:select * from `db_user`.`users` limit 0, 100

修改schema.xml的 checkSQLschema=“false”,改爲true即可

當該值爲true時,例如我們執行語句select * from TESTDB.company 。mycat會把語句修改爲 select * from company 去掉TESTDB。

本人的navcat不知道爲啥有問題,鏈接mycat後查詢表數據總數不一致的。應該是我的個人問題,後面我用cmd 命令窗口看就沒問題

看本人的navcat 表數量就不一樣

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章