除了查看RELEASE文件,还有哪些方法可以查看Mycat的版本信息

除了查看 RELEASE 类文件,查看 Mycat 版本信息还有 4 种常用且靠谱的方法,覆盖「Mycat 已启动 / 未启动、本地 / 远程场景」,操作简单且精准,以下是详细实操(CentOS 环境为主):

一、最快捷:Mycat 命令行直接查询(推荐,无需启动)

Mycat 的二进制脚本自带版本查询参数,无论 Mycat 是否启动,进入安装目录的 bin 文件夹即可查询,是最直接的方式。
bash
运行
# 1. 进入 Mycat 的 bin 目录(默认安装路径:/usr/local/mycat/bin)
cd /usr/local/mycat/bin

# 2. 执行版本查询命令(两种写法等价,任选其一)
./mycat version
# 或
./mycat -v

输出示例(Mycat 1.6.7.6):

plaintext
Mycat-server 1.6.7.6-release
Copyright (c) 2013-2022, Mycat Software Foundation (http://www.mycat.org.cn)
  • 核心信息:直接显示版本号(如 1.6.7.6-release),无需额外解析。
  • 优势:无需启动 Mycat,秒级查询,适合所有场景。

二、查看 Mycat 启动日志(已启动时)

Mycat 成功启动后,会在核心日志文件中明确记录版本信息,适合已启动但无法执行命令行的场景(如远程服务器仅能访问日志)。
bash
运行
# 1. 查看 Mycat 主日志(mycat.log),过滤版本关键字
grep -i "version" /usr/local/mycat/logs/mycat.log

# 2. 若日志较多,只看最新 100 行(避免刷屏)
tail -100 /usr/local/mycat/logs/mycat.log | grep -i "version"

输出示例:

plaintext
2025-11-28 09:30:00 [INFO] [main] - Mycat Version: 1.6.7.6-release
  • 优势:无需额外操作,直接读取现有日志,适合排查问题时顺带查版本。
  • 注意:若 Mycat 未启动,日志中无该记录,需先启动 Mycat(./mycat start)。

三、通过 Mycat 管理端口查询(已启动,支持远程)

Mycat 默认开放 9066 管理端口,可通过 MySQL 客户端(如 Navicat、命令行)连接后,执行自定义管理命令查询版本,适合远程验证(如本地无服务器权限,仅能远程连接)。
bash
运行
# 1. 用 MySQL 客户端连接 Mycat 管理端口(无需 Mycat 专属客户端)
mysql -h 服务器IP -u 应用用户名 -p 应用密码 -P 9066
# 示例(本地连接):mysql -h127.0.0.1 -umycat_app -p123456 -P9066

# 2. 连接成功后,执行版本查询命令(Mycat 自定义命令,前缀为 @@)
show @@version;

输出示例:

plaintext
+----------------+
| VERSION        |
+----------------+
| 1.6.7.6-release|
+----------------+
1 row in set (0.00 sec)
  • 优势:支持远程查询,结果结构化,适合运维人员远程验证版本。
  • 注意:需确保 Mycat 已启动,且 9066 端口已开放(firewall-cmd --permanent --add-port=9066/tcp && firewall-cmd --reload)。

四、查看 Mycat 安装包 / 解压目录命名(快速验证)

若记得 Mycat 安装包的下载路径,或未删除安装包,可直接通过文件名获取版本;若已解压,也可通过解压目录的命名推断。
bash
运行
# 1. 查看下载目录的安装包(默认下载路径:/root 或 /home/用户)
ls -l /root/Mycat-server-*.tar.gz
# 输出示例:-rw-r--r-- 1 root root 10M 2024-01-01 00:00 Mycat-server-1.6.7.6-linux.tar.gz

# 2. 若已解压,查看解压目录命名(部分解压后目录含版本)
ls -l /usr/local/ | grep mycat
# 输出示例:drwxr-xr-x 7 root root 4096 2024-01-01 00:00 mycat-1.6.7.6
  • 优势:无需进入 Mycat 目录,快速验证,适合仅记得安装包的场景。
  • 注意:若安装包已删除或解压后重命名目录,该方法无效。

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

方法 适用场景 优点 缺点
命令行 ./mycat version Mycat 未启动 / 本地操作 无需启动,最快最直接 需进入 bin 目录,需服务器命令行权限
日志查询 grep version Mycat 已启动 / 仅能访问日志 无需额外操作,顺带查版本 未启动时无效,日志过多需过滤
管理端口 show @@version Mycat 已启动 / 远程验证 支持远程,结果精准结构化 需启动 Mycat,需开放 9066 端口
安装包 / 目录命名 未删除安装包 / 刚解压 无需操作 Mycat,快速验证 安装包删除后无效,依赖命名规范

六、常见问题与解决方案

1. 命令行执行报错:-bash: ./mycat: Permission denied

  • 原因:Mycat 脚本无执行权限。
  • 解决方案:添加执行权限:chmod +x /usr/local/mycat/bin/mycat

2. 管理端口连接失败:Can't connect to MySQL server on 'IP:9066'

  • 原因:① Mycat 未启动;② 9066 端口未开放;③ 用户名 / 密码错误。
  • 解决方案:
    1. 启动 Mycat:/usr/local/mycat/bin/mycat start
    2. 开放端口:firewall-cmd --permanent --add-port=9066/tcp && firewall-cmd --reload
    3. 验证用户名 / 密码:确保与 server.xml 中配置的应用用户一致。

3. 日志中无版本信息

  • 原因:Mycat 未正常启动,或日志文件被清空。
  • 解决方案:查看启动日志 wrapper.log 确认启动状态:tail -200 /usr/local/mycat/logs/wrapper.log

核心总结

优先推荐「命令行查询」(无需启动,快捷)或「管理端口查询」(远程可用,精准);若仅能访问日志或安装包,可选择「日志查询」或「安装包命名验证」。所有方法均无需依赖 RELEASE 文件,覆盖绝大多数使用场景,按需选择即可~
阅读剩余
THE END