mycat 水平分片配置 最基礎入門學習

2021-10-25 19:22:04 字數 1983 閱讀 1225

前提,準備3至4臺伺服器,如果3臺的話,其中一台既是mysql,也是mycat伺服器

並在每台伺服器上 安裝好jdk1.8和mysql

jdk1.8安裝步驟,可檢視博文

mysql安裝步驟,可檢視博文,mysql的遠端訪問許可權,最好開啟,方便測試,方法自行baidu

主機分布情況 

172.16.208.214 mycat伺服器 【邏輯庫,邏輯表】

172.16.208.213

mysql伺服器 【實際庫,實際表】

172.16.208.212

mysql伺服器 【實際庫,實際表】

172.16.208.211 

mysql伺服器 【實際庫,實際表】

1 修改 mycat的配置檔案,主要是 schema.xml,server.xml,rule.xml

2 根據上面的 schema.xml中的配置檔案,在 mysql伺服器中【211,212,213】,共3臺,新建 實際庫 actual_db1

3 啟動 mycat服務

後台啟動

./bin/mycat start

普通啟動,直接看日誌

./bin/mycat console

./bin/mycat stop

./bin/mycat status

./bin/mycat restart

4 根據上面的server.xml配置檔案中的賬號,密碼,連線到 mycat 伺服器,注意埠是8066

mysql -h 172.16.208.214 -p 8066 -u root -p
5 根據上面的 schema.xml中的配置檔案,在 mycat中新建邏輯庫 【看版本,也許不用】,新建邏輯表

再檢視mysql的3個庫,發現表都自動建立好啦

(如果實際庫中已經有表,且邏輯表和實際表名也相同,就可省略此步驟)

create table logic_table_1 (

id bigint (20) not null,

title varchar (100) not null,

primary key (id)

) engine = innodb default charset = utf8 ;

6 在 mycat中,對邏輯表做增刪改查操作,測試,至於資料會如何分布,就是rule.xml中的配置,這裡使用預設

因為我們採用的分片規則是每節點儲存500萬條資料,所以當id大於5000000則會儲存到第二個節點

上。# 會新增到 211機器

insert into logic_table_1(id,title) values(1,'goods1');

insert into logic_table_1(id,title) values(2,'goods2');

insert into logic_table_1(id,title) values(3,'goods3');

# 會新增到 212機器

insert into logic_table_1(id,title) values(5000001,'goods5000001');

<?xml version="1.0"?>			

select user()

select user()

select user()

123456

logic_db1

user

logic_db1

true

Mycat水平分片策略(水平分表拆分)

可以實現按照地區進行分表 根據不同的列舉 常量 進行分表儲存 1.mysql中建立3個資料庫分別為user db1 user db2 user db3 2.在3個資料庫中建立3個一樣的資料表 order info order info表中有字段name 3.配置mycat環境 schema.xml ...

mycat 水平分表

相對於垂直拆分的區別是 垂直拆分是把不同的表拆到不同的資料庫中,而水平拆分是把同乙個表拆到不同的資料庫中。水平拆分不是將表的資料做分類,而是按照某個欄位的某種規則來分散到多個庫之中,每個表中包含一部分資料。例如,分庫中的舉例,orders表水平分到order win和order linux兩個庫中。...

mycat水平分表

和垂直分庫不同,水平分表,是將那些io頻繁,且資料量大的表進行水平切分。基本的配置和垂直分庫一樣,我們需要改的就是我們的 schema.xml和rule.xml檔案配置 server.xml不用做任何修改 除此之外,我們還需要在兩個分片資料庫伺服器上建立分片用的資料庫10.0.4.181上建立 or...