查看Mycat的版本信息

查看 Mycat 版本信息的核心方式可分为「日志查询、管理端口查询、文件 / 目录溯源、配置特征推断」四大类,覆盖 Mycat 已启动 / 未启动、本地 / 远程、仅能访问文件等不同场景,以下是详细且可落地的实操指南:

一、日志查询(Mycat 已启动时,最易操作)

Mycat 启动和运行过程中会将版本信息写入日志文件,无需额外操作,直接过滤日志即可获取,是已启动场景下的首选替代方案。

1. 核心日志(mycat.log)查询

bash
运行
# 方式1:全局搜索版本关键字(推荐)
grep -i "version" /usr/local/mycat/logs/mycat.log

# 方式2:仅查看最新启动日志(避免日志过多)
tail -200 /usr/local/mycat/logs/mycat.log | grep -i "version"

# 方式3:查看启动专属日志(wrapper.log,记录启动全过程)
grep -i "mycat.*version" /usr/local/mycat/logs/wrapper.log

输出示例:

plaintext
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 已启动,支持远程)

Mycat 开放 9066 专属管理端口,可通过 MySQL 客户端(命令行 / 可视化工具)远程 / 本地连接后,执行自定义命令查版本,是远程运维的核心方式。

1. 命令行客户端连接查询

bash
运行
# 1. 连接 Mycat 管理端口(用户名/密码为 server.xml 中配置的应用用户)
mysql -h 服务器IP -u mycat_app -p123456 -P 9066

# 2. 连接成功后执行版本查询命令(Mycat 自定义管理指令)
show @@version;

输出示例:

plaintext
+----------------+
| VERSION        |
+----------------+
| 1.6.7.6-release|
+----------------+

2. 可视化工具查询(Navicat/DBeaver 等)

  • 新建 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 未启动,仅能访问文件)

若无法执行命令行、Mycat 未启动,但能访问安装目录 / 安装包,可通过文件命名或内置文件溯源版本。

1. 安装包 / 解压目录命名溯源

bash
运行
# 1. 查看下载的安装包(默认在 /root 或下载目录)
ls -l /root/Mycat-server-*.tar.gz
# 输出示例:Mycat-server-1.6.7.6-linux.tar.gz → 版本 1.6.7.6

# 2. 查看解压后的目录命名(若未重命名)
ls -l /usr/local/ | grep mycat
# 输出示例:mycat-2.0.1 → 版本 2.0.1

2. 内置版本文件(除 RELEASE 外的补充)

部分版本会在 lib 目录下通过 jar 包命名体现版本:
bash
运行
# 查看 Mycat 核心 jar 包版本
ls -l /usr/local/mycat/lib | grep mycat-server
# 输出示例:mycat-server-1.6.7.6.jar → 版本 1.6.7.6

关键说明:

  • 优势:无需启动 Mycat,仅需文件读取权限,适合服务器权限受限场景;
  • 局限:若安装包已删除、目录 /jar 包重命名,则无法使用。

四、配置特征推断(无日志 / 命令权限,仅能看配置文件)

不同 Mycat 版本的核心配置文件(schema.xml/rule.xml)语法特征不同,可通过标签 / 参数推断版本(辅助验证),适合仅能访问配置文件的极端场景。
Mycat 版本 核心配置特征(schema.xml) 特征验证命令
1.6.x(主流稳定版) 支持 <writeHost> 嵌套 <readHost>balance="1" 读写分离、switchType="1" 故障切换,无 shardingRule 标签 `grep -E "writeHost balance=1" /usr/local/mycat/conf/schema.xml`
2.0.x(新版本) 新增 <shardingRule> 分片规则标签、dataSource 优化配置、支持多租户,兼容 1.6.x 基础语法 grep "shardingRule" /usr/local/mycat/conf/schema.xml

关键说明:

  • 仅作辅助推断,无法精准到小版本(如 1.6.7.5 vs 1.6.7.6);
  • 若配置文件是从其他版本复制而来,特征可能与实际版本不符,需结合其他方式验证。

五、各方式对比与场景推荐

方式 适用场景 优点 局限
日志查询 Mycat 已启动、有日志读取权限 操作简单,无需连接 Mycat 未启动 / 日志被清空则无效
管理端口查询 Mycat 已启动、需远程验证 远程可用,结果精准 需开放 9066 端口、知道 Mycat 用户名密码
文件 / 目录溯源 Mycat 未启动、仅能访问安装文件 无需启动,仅需文件权限 依赖安装包 / 目录 /jar 包未被修改
配置特征推断 仅能访问配置文件、无其他权限 极端场景可用 仅能推断大版本,无法精准

核心总结

  1. 优先选择:日志查询(已启动)、管理端口查询(远程)、文件溯源(未启动),这三种方式能精准获取版本;
  2. 极端场景:配置特征推断仅作辅助,需结合其他线索验证;
  3. 避坑提示:所有方式中,「管理端口查询」和「日志查询」受环境修改影响最小,结果最可靠。
阅读剩余
THE END