MyCat管理及监控

目录

MyCat原理

MyCat管理

MyCat-web

安装Zookeeper

安装Mycat-web


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 提供依据。

MyCat管理

Mycat默认开通2个端口,可以在server.xml中进行修改。

  • 8066 数据访问端口,即进行 DML 和 DDL 操作。
  • 9066 数据库管理端口,即 mycat 服务管理控制功能,用于管理mycat的整个集群状态

连接MyCat的管理控制台:

bash 复制代码
mysql -h 192.168.226.100 -P 9066 -p123456

常用命令

命令 含义
show @@help 查看Mycat管理工具帮助文档
show @@version 查看Mycat的版本信息
reload @@config 重新加载Mycat的配置文件
show @@datasource 查看Mycat的数据源信息
show @@datanode 查看MyCat现有的分片节点信息
show @@threadpool 查看Mycat的线程池信息
show @@sql 查看当前执行的SQL语句(可能受限于日志级别和配置)
show @@sql.sum 查看执行的SQL统计信息(如执行次数、时间等)

更多参数命令(个别可能官方也未实现)

指令(英文) 描述(中文)
show @@time.current 报告当前时间戳
show @@time.startup 报告启动时间戳
show @@version 报告MyCat服务器版本
show @@server 报告服务器状态
show @@threadpool 报告线程池状态
show @@database 报告数据库列表
show @@datanode 报告数据节点
show @@datanode where schema = ? 按架构报告数据节点
show @@datasource 报告数据源
show @@datasource where dataNode = ? 按数据节点报告数据源
show @@datasource.synstatus 报告数据源数据同步状态
show @@datasource.syndetail where name=? 报告数据源数据同步详情
show @@datasource.cluster 报告数据源集群变量
show @@processor 报告处理器状态
show @@command 报告命令状态
show @@connection 报告连接状态
show @@cache 报告系统缓存使用情况
show @@backend 报告后端连接状态
show @@session 报告前端会话详情
show @@connection.sql 报告连接SQL
show @@sql.execute 报告执行状态
show @@sql.detail where id = ? 报告执行详情状态
show @@sql 报告SQL列表
show @@sql.high 报告高频SQL
show @@sql.slow 报告慢SQL
show @@sql.resultset 报告大结果集SQL
show @@sql.sum 报告用户读写统计
show @@sql.sum.user 报告用户读写统计
show @@sql.sum.table 报告表读写统计
show @@parser 报告解析器状态
show @@router 报告路由状态
show @@heartbeat 报告心跳状态
show @@heartbeat.detail where name=? 报告心跳当前详情
show @@slow where schema = ? 按架构报告慢SQL
show @@slow where datanode = ? 按数据节点报告慢SQL
show @@sysparam 报告系统参数
show @@syslog limit=? 报告系统日志
show @@white 显示MyCat白名单主机
show @@white.set=?,? 设置MyCat白名单主机
show @@directmemory=1 or 2 显示MyCat直接内存使用情况
show @@check_global -SCHEMA= ? -TABLE=? -retry=? -interval=? 检查MyCat全局表一致性
switch @@datasource name:index 切换数据源
kill @@connection id1,id2,... 杀死指定连接
stop @@heartbeat name:time 暂停数据节点心跳
reload @@config 从文件重新加载基本配置
reload @@config_all 从文件重新加载所有配置
reload @@route 从文件重新加载路由配置
reload @@user 从文件重新加载用户配置
reload @@sqlslow= 设置慢SQL时间(ms)
reload @@user_stat 重置显示SQL统计
rollback @@config 从内存回滚所有配置
rollback @@route 从内存回滚路由配置
rollback @@user 从内存回滚用户配置
reload @@sqlstat=open 开启实时SQL统计分析器
reload @@sqlstat=close 关闭实时SQL统计分析器
offline 将MyCat状态更改为OFF
online 将MyCat状态更改为ON
clear @@slow where schema = ? 按架构清除慢SQL
clear @@slow where datanode = ? 按数据节点清除慢SQL

MyCat-web

介绍

Mycat-web(Mycat-eye)是对mycat-server提供监控服务,功能不局限于对mycat-server使 用。他通过JDBC连接对Mycat、Mysql监控,监控远程服务器(目前仅限于linux系统)的cpu、内 存、网络、磁盘。

Mycat-eye运行过程中需要依赖zookeeper,因此需要先安装zookeeper。

安装Zookeeper

链接:https://pan.baidu.com/s/1c0Q3q8K-jAdJEdMCrw8lRw?pwd=og6g

提取码:og6g

上传安装包zookeeper-3.4.6.tar.gz

解压

bash 复制代码
tar -zxf zookeeper-3.4.6.tar.gz -C /usr/local/

创建数据存放目录

bash 复制代码
cd /usr/local/zookeeper-3.4.6/ && mkdir data

修改配置文件名称并配置

bash 复制代码
mv ./conf/zoo_sample.cfg ./conf/zoo.cfg

配置数据存放目录

bash 复制代码
[root@master zookeeper-3.4.6]# vim ./conf/zoo.cfg  # 修改下述改行配置项
dataDir=/usr/local/zookeeper-3.4.6/data

启动Zookeeper

bash 复制代码
bin/zkServer.sh start

bin/zkServer.sh status

安装Mycat-web

上传安装包 Mycat-web.tar.gz

解压

bash 复制代码
tar -zxf Mycat-web.tar.gz -C /usr/local/
bash 复制代码
[root@master ~]# cd /usr/local/mycat-web/
[root@master mycat-web]# ll
总用量 28
drwxr-xr-x 2 root root    45 10月 20 2015 etc
drwxr-xr-x 3 root root   135 10月 20 2015 lib
drwxr-xr-x 7 root root   168 1月   2 2017 mycat-web
-rwxr-xr-x 1 root root   116 10月 20 2015 readme.txt
-rwxr-xr-x 1 root root 17125 10月 20 2015 start.jar
-rwxr-xr-x 1 root root   381 10月 20 2015 start.sh


目录介绍
    etc         ----> jetty配置文件
    lib         ----> 依赖jar包
    mycat-web   ----> mycat-web项目
    readme.txt
    start.jar   ----> 启动jar
    start.sh    ----> linux启动脚本

配置

开启MyCat的实时统计功能(server.xml) 找打这个配置项,将0改为1,即可开启。

XML 复制代码
	<property name="useSqlStat">1</property>  <!-- 1为开启实时统计、0为关闭 -->

然后在管理端重载配置即可不用重启mycat

bash 复制代码
# 登录管理端
mysql -h 192.168.226.100 -P 9066 -p123456

# 执行这句sql可重新加载配置   reload @@config;

启动

bash 复制代码
nohup sh start.sh &

备注:

如果Zookeeper与Mycat-web不在同一台服务器上 , 需要设置Zookeeper的地址 ; 在/usr/local/mycat-web/mycat-web/WEB-INF/classes/mycat.properties文件中配置的端口 :

浏览器访问: http://192.168.226.100:8082/mycat/

相关推荐
问道飞鱼1 天前
【数据库相关】TxSQL新增数据库节点步骤
数据库·mysql·txsql·新增节点
Ka1Yan1 天前
MySQL索引优化
开发语言·数据结构·数据库·mysql·算法
程序猿 董班长1 天前
springboot配置多数据源(mysql、hive)
hive·spring boot·mysql
且行志悠1 天前
Mysql的使用
mysql
白鹭1 天前
MySQL源码部署(rhel7)
数据库·mysql
星期天要睡觉1 天前
MySQL 综合练习
数据库·mysql
JosieBook2 天前
【数据库】MySQL 数据库创建存储过程及使用场景详解
数据库·mysql
处女座_三月2 天前
改 TDengine 数据库的时间写入限制
数据库·sql·mysql
DemonAvenger2 天前
MySQL与应用程序的高效交互模式:从基础到实战的最佳实践
数据库·mysql·性能优化
皆过客,揽星河2 天前
mysql进阶语法(视图)
数据库·sql·mysql·mysql基础语法·mysql进阶语法·视图创建修改删除