分析网站建设,重庆工程造价信息官网,淘客网站建设要求,网站搭建关键词排名垂直分表就是将一个库下的多个表拆分到多个MySQL实例#xff0c;实现库压力分流。通过GTID模式复制#xff0c;db01与db02之间不进行任何连接与复制当前环境#xff1a;mycat -- db01与db02db01 -- db03db02 -- db04当前垂直分表架构#xff1a;后端数据库创建…垂直分表就是将一个库下的多个表拆分到多个MySQL实例实现库压力分流。通过GTID模式复制db01与db02之间不进行任何连接与复制当前环境mycat -- db01与db02db01 -- db03db02 -- db04当前垂直分表架构后端数据库创建表在数据节点 1 创建 temp_1表 在数据节点 2 创建 temp_2表[rootdb01 ~]# mysql -uroot -p -e create table course.temp_1(id int,name varchar(64));Enter password:[rootdb02 ~]# mysql -uroot -p -e create table course.temp_2(id int,name varchar(64));Enter password:Mycat配置分表[rootdb-mycat conf]# cat schema.xml # 在schema标签下定义table标签指定 temp_1表在 dn1数据节点中 # 在schema标签下定义table标签指定 temp_2表在 dn2数据节点中 # 定义 dn1数据节点 # 定义 dn2数据节点 # 定义 node1数据组主机select user() # 定义 node2数据组主机select user()重启Mycat服务mycat restart查看数据节点状态db01与db03是一组数据库实例db02与db04是一组数据库实例[rootdb-mycat conf]# mysql -uroot -p -h172.18.1.100 -P9066 -e show datasource;Enter password:----------------------------------------------------------------------------------------------------| DATANODE | NAME | TYPE | HOST | PORT | W/R | ACTIVE | IDLE | SIZE | EXECUTE | READ_LOAD | WRITE_LOAD |----------------------------------------------------------------------------------------------------| dn1 | db01 | mysql | 172.18.1.76 | 3306 | W | 0 | 10 | 1000 | 85 | 0 | 0 || dn1 | db03 | mysql | 172.18.1.78 | 3306 | R | 0 | 7 | 1000 | 86 | 5 | 0 || dn2 | db02 | mysql | 172.18.1.77 | 3306 | W | 0 | 10 | 1000 | 85 | 0 | 0 || dn2 | db04 | mysql | 172.18.1.79 | 3306 | R | 0 | 7 | 1000 | 82 | 1 | 0 |----------------------------------------------------------------------------------------------------查看Mycat中间件所有表可以看到 Mycat中间件可以在 course库下看到 两张表已经实现 垂直分表效果[rootdb-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e use course; show tables;Enter password:------------------| Tables_in_course |------------------| temp_1 || temp_2 |------------------# 通过 Mycat中间件插入两条数据到 temp_1 temp_2 表内[rootdb-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e insert into course.temp_1 values(1,aa);Enter password:[rootdb-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e insert into course.temp_2 values(2,bb);Enter password:# 通过 Mycat中间件查看被垂直分表的[rootdb-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e use course; select * from temp_1;Enter password:------------| id | name |------------| 1 | aa |------------[rootdb-mycat conf]# mysql -uroot -p -h172.18.1.100 -P8066 -e use course; select * from temp_2;Enter password:------------| id | name |------------| 2 | bb |------------查看后端真实数据库表可以看到每个数据库实例组 course库下只有一张表。同时通过 Mycat插入的数据也被分别分流到了两个数据节点 dn1 、 dn2# dn1 数据节点[rootdb01 ~]# mysql -uroot -p -e use course; show tables;Enter password:------------------| Tables_in_course |------------------| temp_1 |------------------[rootdb01 ~]# mysql -uroot -p -e use course; select * from temp_1;Enter password:------------| id | name |------------| 1 | aa |------------# dn2 数据节点[rootdb02 ~]# mysql -uroot -p -e use course; show tables;Enter password:------------------| Tables_in_course |------------------| temp_2 |------------------[rootdb02 ~]# mysql -uroot -p -e use course; select * from temp_2;Enter password:------------| id | name |------------| 2 | bb |------------