linux下的mycat(分庫分表)

2021-10-24 03:20:38 字數 2163 閱讀 4790

mycat 的配置檔案都在 conf 目錄裡面,這裡介紹幾個常用的檔案

節點與屬性介紹

配置邏輯庫標籤

name ----邏輯庫名稱

checksqlschema ----是否檢查sql語法中的schema資訊

sqlmaxlimit ----mycat 在執行 sql 的時候,如果 sql 語句中沒有 limit 子句.自動增加 limit 子句. 避免一次性得到過多的資料,影響效率. limit子句的限制數量預設配置為100.如果 sql中有具體的 limit子句,當前屬性失效.

sql : select * from table; mycat 解析後: select * from table limit 100;

定義邏輯表的標籤 name ----邏輯表名 datanode ----資料節點名稱 rule ----分片規則名稱

定義資料節點的標籤

name ----資料節點名稱

datahost ----引用 datahost 標籤的 name 值,

database ----物理資料庫 database 名稱

定義資料主機的標籤

name ----定義邏輯上的資料主機名稱

max connections 最大連線數

min connections 最小連線數

dbtype 資料庫型別

datahost 子標籤 writehost寫資料的資料庫定義標籤. 實現讀寫分離操作.

host 資料庫命名

url 資料庫訪問路徑

user 資料庫訪問使用者名稱

password 訪問使用者密碼

writehost 子標籤 readhost

rule.xml

用於定義分片規則的配置檔案

mycat 預設的分片規則: 以 500 萬為單位,實現分片規則

邏輯庫 a 對應 datanode - db1 和 db2. 1-500 萬儲存在 db1 中, 500 萬零 1 到 1000 萬儲存在 db2 中,1000 萬零 1 到 1500 萬儲存在 db1 中.依次類推.

配置讀寫分離:

安裝路徑/bin/mycat start //啟動mycat命令

安裝路徑/bin/mycat stop //停止命令

安裝路徑/bin/mycat restart //重啟命令

安裝路徑/bin/mycat status //檢視 mycat 狀態

命令列訪問方式

mysql -u 使用者名稱 -p 密碼 -hmycat 主機 ip -p8066

使用 mycat 實現分庫時,先在 mycat 中定義邏輯庫與邏輯表,然後在 mycat 的鏈結中執行建立表的命令必須要在 mycat 中執行。因為 mycat 在建立表時,會在表中新增乙個新的列,列名為_slot。

使用 mycat 插入資料時,語句中必須要指定所有的列。即便是乙個完全項插入也不允許省略列名。

Mycat分庫分表

schema.xml 配置 name dn1 datahost localhost1 database db1 name dn2 datahost localhost1 database db2 name dn3 datahost localhost1 database db3 把localhost...

mycat分庫分表

一 修改schema.xml select user 二 修改server.xml 0 0 10 011m 1k0 384m true 123456 testdb user testdb true 三 啟動關閉1 進入bin目錄,2 啟動輸入.mycat start。關閉命令 mycat stop ...

mycat分庫分表

mycat是資料庫分庫分表的中介軟體,mycat使用最多的兩個功能是 讀寫分離和分庫分表功能,支援全域性表和e r關係 這兩個比較實用 mycat相當於是乙個 可以將多個實際資料庫組合成乙個完整的虛擬資料庫 我們可以直接訪問mycat的埠,其使用的是mysql原生的協議連線資料庫進行通訊 mycat...