MyCat讀寫分離和分庫

2021-09-28 15:35:35 字數 1472 閱讀 8078

學習主題:mycat

學習目標:

1 掌握mycat的配置規則

2 掌握mycat配置讀寫分離

3 掌握mycat分片分庫

(1)的作用是什麼?

配置分片規則

(2)中name屬性的作用是什麼?

屬性指定唯一的名字,用於標識不同的分片規則。內嵌的rule標籤則指定對物理表中的哪一列進行拆分和使用什麼分片演算法

(3)中columns屬性的作用是什麼?

指定要拆分的列的名字

(4)中algorithm屬性的作用是什麼?

使用function 標籤中的name 屬性。連線表規則和具體分片演算法。table 標籤內使用。讓邏輯表使用這個規則進行分片

(5)的作用是什麼?

配置具體的分片規則演算法

(6)中name屬性的作用是什麼?

演算法的名字

(7)中class屬性的作用是什麼?

演算法具體的類的名字

(8)中property屬性的作用是什麼?

配置演算法需要的引數

(1)如何在mycat中配置讀寫分離?

修改schem.xml,配置資料庫資訊,指定分片規則

配置讀資料庫和寫資料庫,實現分離

(1)auto-sharding-long的分片規則是什麼?

以500萬為單位,實現分片規則.

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

(2)crc32slot的分片規則是什麼?

在crud操作時,根據具體資料的crc32演算法計算,資料應該儲存在哪乙個datanode中

(3)在配置分片規則時需要注意什麼?

1)id中推薦配置主鍵列

2)所有的tablerule只能使用一次。如果需要為多個表配置相同的分片規則,那麼需要在此重新定義該規則。

3)在crc32slot演算法中的分片數量一旦給定,mycat會將該分片數量和slor的取值範圍

儲存到檔案中。在次修改分片數量時是不會生效的,需要將該檔案刪除。檔案位置位於conf目錄中的ruledata目錄中

(1)在使用mycat分庫時需要注意什麼?

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

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

(2)如何在mycat中配置分庫?

在schem.xml中配置多個datanode,指向同乙個物理主機,指向不同的資料庫,在table標籤中配置多個datanode節點

mycat實現mariadb讀寫分離 分庫

節點名稱 節點ip 埠master 127.0.0.1 3306 sl e 127.0.0.1 3305 mycat 127.0.0.1 8066 9066 1 mariadb安裝 新建主節點配置檔案 docker啟動時會把此檔案掛載到容器中 mkdir opt software mariadb m...

mycat實現分庫分表讀寫分離

mysql8.0 主從同步配置 本地部署mycat的包為 mycat server 1.6.7.6 release 20201112144313 mac.tar.gz 2 解壓mycat包到指定目錄 tar zvf mycat server 1.6.7.6 release 2020111214431...

MyCat 部署讀寫分離 分庫,未分表

datanode 這裡的值需要和下面的值對應 schema name 是mycat 的邏輯名稱,配置時最好和真實庫是一樣的,這樣更直觀。datanode name 是你真實資料庫的名稱 balance 值為 1 表示讀寫分離 還可以表示 0 1 2 3 具體參考官網解釋 select user 指定...