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
慢SQLshow @@sql.slow优化慢SQL、添加索引
注意: 生产环境不要频繁执行 reload @@config_all,配置变更请在维护窗口操作。
建议: 配合Prometheus、Zabbix等监控系统,对Mycat的CPU、内存、连接数、TPS/QPS等关键指标进行实时监控和告警。