Mycat1.6 运维管理
1. 管理端口命令 (9066端口)
1.1 基础命令
mysql -h127.0.0.1 -P9066 -uroot -p123456
mysql> show @@help; # 查看所有管理命令
mysql> show @@version; # 查看Mycat版本
mysql> show @@server; # 查看服务器状态
mysql> show @@threadpool; # 查看线程池状态
mysql> show @@processor; # 查看处理器信息
mysql> show @@connection; # 查看连接信息
1.2 数据源与节点
mysql> show @@database; # 查看逻辑库列表
mysql> show @@datanode; # 查看数据节点
mysql> show @@datasource; # 查看数据源状态
mysql> show @@datasource.synstatus; # 主从同步延迟
mysql> show @@datasource.cluster; # 集群数据源信息
mysql> show @@datasource.dn; # 按数据节点展示数据源
1.3 SQL执行监控
mysql> show @@sql; # 查看执行过的SQL
mysql> show @@sql.high; # 高频SQL
mysql> show @@sql.slow; # 慢SQL
mysql> show @@sql.large; # 大结果集SQL
mysql> show @@sql.condition; # SQL条件统计
mysql> show @@sql.resultset; # 结果集统计
mysql> show @@sql.detail id=1; # SQL详情
1.4 配置管理
mysql> reload @@config; # 重新加载配置文件
mysql> reload @@config_all; # 重新加载所有配置文件
mysql> reload @@route; # 重新加载路由配置
mysql> reload @@user; # 重新加载用户配置
mysql> rollback @@config; # 回滚配置
mysql> rollback @@route; # 回滚路由配置
mysql> reload @@sqlcache=open/close; # 开启/关闭SQL缓存
2. 性能调优
2.1 JVM参数调优
# conf/wrapper.conf
wrapper.java.additional.1=-server
wrapper.java.additional.2=-Xms2G
wrapper.java.additional.3=-Xmx4G
wrapper.java.additional.4=-XX:MaxDirectMemorySize=2G
wrapper.java.additional.5=-XX:+AggressiveOpts
wrapper.java.additional.6=-XX:+UseG1GC
wrapper.java.additional.7=-XX:MaxGCPauseMillis=200
2.2 Mycat自身参数调优
# server.xml
<property name="processors">32</property> # 业务线程数,建议与CPU核心数一致
<property name="processorExecutor">32</property> # 辅助线程数
<property name="processorBufferChunk">4096</property> # Buffer大小
<property name="processorBufferPool">4096000</property> # BufferPool大小
2.3 连接池调优
<dataHost maxCon="1000" minCon="100"> # 合理设置最大最小连接数
<writeHost>
# 建议 maxCon = 最大并发数 / 数据节点数 * 安全系数(1.5)
</writeHost>
</dataHost>
3. 日志管理
# 日志位置
mycat/logs/wrapper.log # 启动日志
mycat/logs/mycat.log # 运行日志
mycat/logs/tmlogs/ # 慢SQL日志
# log4j2.xml 日志级别调整
<asyncRoot level="info" includeLocation="true">
# 开发时可调整为 debug
# 生产环境建议 info 或 warn
</asyncRoot>
4. 常见问题排查
| 问题 | 排查方法 | 解决方案 |
|---|---|---|
| 连接超时 | telnet IP 8066 检查Mycat连通性 | 检查防火墙、Mycat进程 |
| 后端MySQL不可用 | show @@datasource 查看状态 | 检查MySQL服务、主从状态 |
| 内存溢出 | 查看 mycat.log 中的OOM日志 | 增大JVM内存、检查大结果集 |
| 配置不生效 | reload 命令执行情况 | 检查XML语法、执行 reload @@config_all |
| 慢SQL | show @@sql.slow | 优化慢SQL、添加索引 |
注意: 生产环境不要频繁执行
reload @@config_all,配置变更请在维护窗口操作。建议: 配合Prometheus、Zabbix等监控系统,对Mycat的CPU、内存、连接数、TPS/QPS等关键指标进行实时监控和告警。