♥️作者:小刘在C站
♥️个人主页: 小刘主页
♥️努力不一定有回报,但一定会有收获加油!一起努力,共赴美好人生!
♥️学习两年总结出的运维经验,以及思科模拟器全套网络实验教程。专栏:云计算技术
♥️小刘私信可以随便问,只要会绝不吝啬,感谢CSDN让你我相遇!
前言
上章讲到MySQL-分库分表详解(六)
目录
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://blog.csdn.net/lzl10211345/article/details/131743399
免责声明:
① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。
② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
软考中级精品资料免费领
- 历年真题答案解析
- 备考技巧名师总结
- 高频考点精准押题
- 资料下载
- 历年真题
193.9 KB下载数265
191.63 KB下载数245
143.91 KB下载数1142
183.71 KB下载数642
644.84 KB下载数2755
相关文章
发现更多好内容猜你喜欢
AI推送时光机MySQL-分库分表详解(七)
数据库2023-09-02MySQL分库分表详情
数据库2024-04-02mysql死锁和分库分表问题详解
数据库2022-06-01MySql分表、分库、分片和分区知识深入详解
数据库2024-04-02详解MySQL分区表
数据库2022-05-27MySQL分库分表总结讲解
数据库2024-04-02Mysql分库分表全面理解
数据库2019-05-21MySQL总结(七)数据库表的约束-详解
数据库2017-04-03Mysql数据库分库分表全面瓦解
数据库2024-04-02mysql分库分表备份
数据库2024-04-02MySQL如何分库分表
数据库2023-08-17MySQL分区表和分桶表的操作详解
数据库2023-05-12MySQL分库分表实例分析
数据库2023-06-30MySQL分库分表实践分享
数据库2024-10-20MySQL 数据库分表分区
数据库2024-04-02MySQL分库分表后路由策略设计详情
数据库2022-08-08详解分库分表后非分片键如何查询
数据库2023-03-10MySQL分库分表备份脚本
数据库2024-04-02 咦!没有更多了?去看看其它编程学习网 内容吧