查看 Mycat 版本信息的核心方式可分为「日志查询、管理端口查询、文件 / 目录溯源、配置特征推断」四大类,覆盖 Mycat 已启动 / 未启动、本地 / 远程、仅能访问文件等不同场景,以下是详细且可落地的实操指南:
Mycat 启动和运行过程中会将版本信息写入日志文件,无需额外操作,直接过滤日志即可获取,是已启动场景下的首选替代方案。
grep -i "version" /usr/local/mycat/logs/mycat.log
tail -200 /usr/local/mycat/logs/mycat.log | grep -i "version"
grep -i "mycat.*version" /usr/local/mycat/logs/wrapper.log
2025-12-01 10:15:00 [INFO] [main] - Mycat Version: 1.6.7.6-release
2025-12-01 10:15:00 [INFO] [wrapper] - Mycat-server 1.6.7.6-release starting...
- 日志路径默认是
/usr/local/mycat/logs,若自定义安装需替换路径;
- 关键字不区分大小写(
-i 参数),避免因日志大小写不一致漏查;
- 优势:无需连接 / 操作 Mycat,仅需读取日志权限即可,适合运维审计场景。
Mycat 开放 9066 专属管理端口,可通过 MySQL 客户端(命令行 / 可视化工具)远程 / 本地连接后,执行自定义命令查版本,是远程运维的核心方式。
mysql -h 服务器IP -u mycat_app -p123456 -P 9066
show @@version;
+----------------+
| VERSION |
+----------------+
| 1.6.7.6-release|
+----------------+
- 新建 MySQL 连接:地址填服务器 IP,端口填 9066,用户名 / 密码填 Mycat 应用用户;
- 连接成功后,在查询窗口执行
show @@version;,直接获取版本信息。
- 需确保 9066 端口已开放(
firewall-cmd --permanent --add-port=9066/tcp && firewall-cmd --reload);
- 若连接失败,先检查 Mycat 是否启动(
/usr/local/mycat/bin/mycat status);
- 优势:无需服务器命令行权限,远程即可操作,结果结构化,适合跨机房运维。
若无法执行命令行、Mycat 未启动,但能访问安装目录 / 安装包,可通过文件命名或内置文件溯源版本。
ls -l /root/Mycat-server-*.tar.gz
ls -l /usr/local/ | grep mycat
部分版本会在 lib 目录下通过 jar 包命名体现版本:
ls -l /usr/local/mycat/lib | grep mycat-server
- 优势:无需启动 Mycat,仅需文件读取权限,适合服务器权限受限场景;
- 局限:若安装包已删除、目录 /jar 包重命名,则无法使用。
不同 Mycat 版本的核心配置文件(schema.xml/rule.xml)语法特征不同,可通过标签 / 参数推断版本(辅助验证),适合仅能访问配置文件的极端场景。
- 仅作辅助推断,无法精准到小版本(如 1.6.7.5 vs 1.6.7.6);
- 若配置文件是从其他版本复制而来,特征可能与实际版本不符,需结合其他方式验证。
- 优先选择:日志查询(已启动)、管理端口查询(远程)、文件溯源(未启动),这三种方式能精准获取版本;
- 极端场景:配置特征推断仅作辅助,需结合其他线索验证;
- 避坑提示:所有方式中,「管理端口查询」和「日志查询」受环境修改影响最小,结果最可靠。