學習主題: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 指定...