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/

相关推荐
Jasonakeke2 小时前
【重学 MySQL】三十四、加密与解密函数
数据库·mysql
一知半解搞开发2 小时前
Mysql系列-索引简介
java·数据库·mysql
aabbcc456aa3 小时前
ubuntu安装mysql 8.0忘记root初始密码,如何重新修改密码
linux·mysql·ubuntu
cyt涛3 小时前
搜索功能技术方案
mysql·elasticsearch·全文检索·canal·索引·数据同步·搜索
剩下的远方4 小时前
CentOS7 MySQL8.0 启动失败 Data Dictionary initialization failed
运维·mysql·centos
fengqing55784 小时前
mysql把某一个字段的值中的aa,替换成bb
数据库·mysql
GG编程6 小时前
Mysql 视图&存储过程&触发器
数据库·mysql
尘浮生6 小时前
Java项目实战II基于Java+Spring Boot+MySQL的服装厂服装生产管理系统的设计与实现
java·开发语言·spring boot·后端·mysql·maven·intellij-idea
深夜吞食7 小时前
MySQL详解:数据类型、约束
数据库·mysql
Violet永存7 小时前
MySQL:undo log
数据库·mysql