♥️作者:小刘在C站
♥️个人主页: 小刘主页
♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生!
♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术
♥️小刘私信可以随便问,只要会绝不吝啬,感谢CSDN让你我相遇!
前言
上章讲到MySQL-分库分表详解(六)
目录
5.3.7 字符串hash解析算法
1). 介绍
2). 配置
3). 测试
5.3.8 按天分片算法
1). 介绍
2). 配置
3). 测试
5.3.9 自然月分片
1). 介绍
编辑
2). 配置
3). 测试
6 MyCat管理及监控
6.1 MyCat原理
6.2 MyCat管理
6.3 MyCat-eye
6.3.1 介绍
6.3.2 安装
6.3.3 访问
6.3.4 配置
6.3.5 测试
A. 性能监控
B. 物理节点
C. SQL统计
编辑
D. SQL表分析
E. SQL监控
编辑
F. 高频SQL
5.3.7 字符串hash解析算法
1). 介绍
![MySQL-分库分表详解(七),MySQL入门到实战,mysql,数据库](https://imgs.yssmx.com/Uploads/2023/07/565539-1.png)
2). 配置
<!-- 字符串hash解析算法 -->
<table name="tb_strhash" dataNode="dn4,dn5" rule="sharding-by-stringhash" />
<dataNode name="dn4" dataHost="dhost1" database="itcast" />
<dataNode name="dn5" dataHost="dhost2" database="itcast" />
<tableRule name="sharding-by-stringhash">
<rule>
<columns>name</columns>
<algorithm>sharding-by-stringhash</algorithm>
</rule>
</tableRule>
<function name="sharding-by-stringhash"
class="io.mycat.route.function.PartitionByString">
<property name="partitionLength">512</property> <!-- zero-based -->
<property name="partitionCount">2</property>
<property name="hashSlice">0:2</property>
</function>
![MySQL-分库分表详解(七),MySQL入门到实战,mysql,数据库](https://imgs.yssmx.com/Uploads/2023/07/565539-2.png)
示例说明:
3). 测试
create table tb_strhash(
name varchar(20) primary key,
content varchar(100)
)engine=InnoDB DEFAULT CHARSET=utf8mb4;
INSERT INTO tb_strhash (name,content) VALUES('T1001', UUID());
INSERT INTO tb_strhash (name,content) VALUES('ROSE', UUID());
INSERT INTO tb_strhash (name,content) VALUES('JERRY', UUID());
INSERT INTO tb_strhash (name,content) VALUES('CRISTINA', UUID());
INSERT INTO tb_strhash (name,content) VALUES('TOMCAT', UUID());
5.3.8 按天分片算法
1). 介绍
![MySQL-分库分表详解(七),MySQL入门到实战,mysql,数据库](https://imgs.yssmx.com/Uploads/2023/07/565539-4.png)
2). 配置
<!-- 按天分片 -->
<table name="tb_datepart" dataNode="dn4,dn5,dn6" rule="sharding-by-date" />
<dataNode name="dn4" dataHost="dhost1" database="itcast" />
<dataNode name="dn5" dataHost="dhost2" database="itcast" />
<dataNode name="dn6" dataHost="dhost3" database="itcast" />
<tableRule name="sharding-by-date">
<rule>
<columns>create_time</columns>
<algorithm>sharding-by-date</algorithm>
</rule>
</tableRule>
<function name="sharding-by-date"
class="io.mycat.route.function.PartitionByDate">
<property name="dateFormat">yyyy-MM-dd</property>
<property name="sBeginDate">2022-01-01</property>
<property name="sEndDate">2022-01-30</property>
<property name="sPartionDay">10</property>
</function>
<!--
从开始时间开始,每10天为一个分片,到达结束时间之后,会重复开始分片插入
配置表的 dataNode 的分片,必须和分片规则数量一致,例如 2022-01-01 到 2022-12-31 ,每
10天一个分片,一共需要37个分片。
-->
![MySQL-分库分表详解(七),MySQL入门到实战,mysql,数据库](https://imgs.yssmx.com/Uploads/2023/07/565539-5.png)
3). 测试
create table tb_datepart(
id bigint not null comment 'ID' primary key,
name varchar(100) null comment '姓名',
create_time date null
);
insert into tb_datepart(id,name ,create_time) values(1,'Tom','2022-01-01');
insert into tb_datepart(id,name ,create_time) values(2,'Cat','2022-01-10');
insert into tb_datepart(id,name ,create_time) values(3,'Rose','2022-01-11');
insert into tb_datepart(id,name ,create_time) values(4,'Coco','2022-01-20');
insert into tb_datepart(id,name ,create_time) values(5,'Rose2','2022-01-21');
insert into tb_datepart(id,name ,create_time) values(6,'Coco2','2022-01-30');
insert into tb_datepart(id,name ,create_time) values(7,'Coco3','2022-01-31');
5.3.9 自然月分片
1). 介绍
2). 配置
<!-- 按自然月分片 -->
<table name="tb_monthpart" dataNode="dn4,dn5,dn6" rule="sharding-by-month" />
<dataNode name="dn4" dataHost="dhost1" database="itcast" />
<dataNode name="dn5" dataHost="dhost2" database="itcast" />
<dataNode name="dn6" dataHost="dhost3" database="itcast" />
<tableRule name="sharding-by-month">
<rule>
<columns>create_time</columns>
<algorithm>partbymonth</algorithm>
</rule>
</tableRule>
<function name="partbymonth" class="io.mycat.route.function.PartitionByMonth">
<property name="dateFormat">yyyy-MM-dd</property>
<property name="sBeginDate">2022-01-01</property>
<property name="sEndDate">2022-03-31</property>
</function>
<!--
从开始时间开始,一个月为一个分片,到达结束时间之后,会重复开始分片插入
配置表的 dataNode 的分片,必须和分片规则数量一致,例如 2022-01-01 到 2022-12-31 ,一
共需要12个分片。
-->
![MySQL-分库分表详解(七),MySQL入门到实战,mysql,数据库](https://imgs.yssmx.com/Uploads/2023/07/565539-7.png)
3). 测试
create table tb_monthpart(
id bigint not null comment 'ID' primary key,
name varchar(100) null comment '姓名',
create_time date null
);
insert into tb_monthpart(id,name ,create_time) values(1,'Tom','2022-01-01');
insert into tb_monthpart(id,name ,create_time) values(2,'Cat','2022-01-10');
insert into tb_monthpart(id,name ,create_time) values(3,'Rose','2022-01-31');
insert into tb_monthpart(id,name ,create_time) values(4,'Coco','2022-02-20');
insert into tb_monthpart(id,name ,create_time) values(5,'Rose2','2022-02-25');
insert into tb_monthpart(id,name ,create_time) values(6,'Coco2','2022-03-10');
insert into tb_monthpart(id,name ,create_time) values(7,'Coco3','2022-03-31');
insert into tb_monthpart(id,name ,create_time) values(8,'Coco4','2022-04-10');
insert into tb_monthpart(id,name ,create_time) values(9,'Coco5','2022-04-30');
6 MyCat管理及监控
6.1 MyCat原理
![MySQL-分库分表详解(七),MySQL入门到实战,mysql,数据库](https://imgs.yssmx.com/Uploads/2023/07/565539-8.png)
在MyCat中,当执行一条SQL语句时,MyCat需要进行SQL解析、分片分析、路由分析、读写分离分析等操作,最终经过一系列的分析决定将当前的SQL语句到底路由到那几个(或哪一个)节点数据库,数据库将数据执行完毕后,如果有返回的结果,则将结果返回给MyCat,最终还需要在MyCat中进行结果合并、聚合处理、排序处理、分页处理等操作,最终再将结果返回给客户端。
而在 MyCat 的使用过程中, MyCat 官方也提供了一个管理监控平台 MyCat-Web ( MyCat-eye )。Mycat-web 是 Mycat 可视化运维的管理和监控平台,弥补了 Mycat 在监控上的空白。帮 Mycat分担统计任务和配置管理任务。 Mycat-web 引入了 ZooKeeper 作为配置中心,可以管理多个节点。 Mycat-web 主要管理和监控 Mycat 的流量、连接、活动线程和内存等,具备 IP 白名单、邮 件告警等模块,还可以统计 SQL 并分析慢 SQL 和高频 SQL 等。为优化 SQL 提供依据。
6.2 MyCat管理
mysql -h 192.168.200.210 -p 9066 -uroot -p123456
6.3 MyCat-eye
6.3.1 介绍
6.3.2 安装
6.3.3 访问
6.3.4 配置
<property name="useSqlStat">1</property> <!-- 1为开启实时统计、0为关闭 -->
![MySQL-分库分表详解(七),MySQL入门到实战,mysql,数据库](https://imgs.yssmx.com/Uploads/2023/07/565539-10.png)
6.3.5 测试
A. 性能监控
![MySQL-分库分表详解(七),MySQL入门到实战,mysql,数据库](https://imgs.yssmx.com/Uploads/2023/07/565539-11.png)
B. 物理节点
C. SQL统计
D. SQL表分析
E. SQL监控
F. 高频SQL
♥️关注,就是我创作的动力
♥️点赞,就是对我最大的认可文章来源:https://www.toymoban.com/news/detail-565539.html
♥️这里是小刘,励志用心做好每一篇文章,谢谢大家文章来源地址https://www.toymoban.com/news/detail-565539.html
到了这里,关于MySQL-分库分表详解(七)的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!