除了查看
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 端口未开放;③ 用户名 / 密码错误。
- 解决方案:
- 启动 Mycat:
/usr/local/mycat/bin/mycat start; - 开放端口:
firewall-cmd --permanent --add-port=9066/tcp && firewall-cmd --reload; - 验证用户名 / 密码:确保与
server.xml中配置的应用用户一致。
- 启动 Mycat:
3. 日志中无版本信息
- 原因:Mycat 未正常启动,或日志文件被清空。
- 解决方案:查看启动日志
wrapper.log确认启动状态:tail -200 /usr/local/mycat/logs/wrapper.log。
核心总结
优先推荐「命令行查询」(无需启动,快捷)或「管理端口查询」(远程可用,精准);若仅能访问日志或安装包,可选择「日志查询」或「安装包命名验证」。所有方法均无需依赖
RELEASE 文件,覆盖绝大多数使用场景,按需选择即可~