MySQL-分库分表详解(七)
♥️作者:小刘在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). 介绍
截取字符串中的指定位置的子字符串
,
进行
hash
算法, 算出分片。
2). 配置
schema.xml
中逻辑表配置:
schema.xml
中数据节点配置:
rule.xml
中分片规则配置:
name sharding-by-stringhash 512 2 0:2
分片规则属性含义:
示例说明:

3). 测试
配置完毕后,重新启动
MyCat
,然后在
mycat
的命令行中,执行如下
SQL
创建表、并插入数据,查看数据分布情况。
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). 介绍
按照日期及对应的时间周期来分片。
2). 配置
schema.xml
中逻辑表配置:
schema.xml
中数据节点配置:
rule.xml
中分片规则配置:
create_time sharding-by-date yyyy-MM-dd 2022-01-01 2022-01-30 10
分片规则属性含义:
3). 测试
配置完毕后,重新启动
MyCat
,然后在
mycat
的命令行中,执行如下
SQL
创建表、并插入数据,查看数据分布情况。
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). 配置
schema.xml
中逻辑表配置:
schema.xml
中数据节点配置:
rule.xml中分片规则配置:
create_time partbymonth yyyy-MM-dd 2022-01-01 2022-03-31
分片规则属性含义:
3). 测试
配置完毕后,重新启动
MyCat
,然后在
mycat
的命令行中,执行如下
SQL
创建表、并插入数据,查看数据分布情况。
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原理
在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管理
Mycat
默认开通
2
个端口,可以在
server.xml
中进行修改。
8066
数据访问端口,即进行
DML
和
DDL
操作。
9066
数据库管理端口,即
mycat
服务管理控制功能,用于管理
mycat
的整个集群状态
连接
MyCat
的管理控制台:
mysql -h 192.168.200.210 -p 9066 -uroot -p123456
6.3 MyCat-eye
6.3.1 介绍
Mycat-web(Mycat-eye)
是对
mycat-server
提供监控服务,功能不局限于对
mycat-server
使
用。他通过
JDBC
连接对
Mycat
、
Mysql
监控,监控远程服务器
(
目前仅限于
linux
系统
)
的
cpu
、内
存、网络、磁盘。
Mycat-eye
运行过程中需要依赖
zookeeper
,因此需要先安装
zookeeper
。
6.3.2 安装
1). zookeeper
安装
2). Mycat-web
安装
6.3.3 访问
http://192.168.200.210:8082/mycat

6.3.4 配置
1).
开启
MyCat
的实时统计功能
(server.xml)
1
2).
在
Mycat
监控界面配置服务地址
6.3.5 测试
配置好了之后,我们可以通过
MyCat
执行一系列的增删改查的测试,然后过一段时间之后,打开
mycat-eye
的管理界面,查看
mycat-eye
监控到的数据信息。
A. 性能监控
B. 物理节点

C. SQL统计
D. SQL表分析

E. SQL监控
F. 高频SQL

♥️关注,就是我创作的动力
♥️点赞,就是对我最大的认可
♥️这里是小刘,励志用心做好每一篇文章,谢谢大家
本文来自网络,不代表协通编程立场,如若转载,请注明出处:https://net2asp.com/5faf5a27df.html



