Linux怎么查MySQL版本
- Linux
- 2025-06-07
- 3076
在Linux中查看MySQL版本,常用两种方法:,1. 终端执行命令:
mysql -V
或
mysql --version
,2. 登录
MySQL后运行SQL:
SELECT VERSION();
,也可通过
rpm -qa | grep mysql
(RPM包)或
dpkg -l | grep mysql
(DEB包)查看安装版本。
方法 1:通过 MySQL 命令行(推荐)
适用场景:可直接登录 MySQL 服务
步骤:
mysql -V # 或 mysql --version
输出示例:mysql Ver 8.0.33-0ubuntu0.22.04.2 for Linux on x86_64 ((Ubuntu))
优势:无需登录数据库,直接显示二进制文件版本。
方法 2:登录 MySQL 后查询系统变量
适用场景:需验证服务端实际运行版本
操作:
mysql -u 用户名 -p > SELECT VERSION(); > SHOW VARIABLES LIKE "%version%";
输出示例:
+-------------------------+-----------------+
| Variable_name | Value |
+-------------------------+-----------------+
| version | 8.0.33 |
| version_comment | MySQL Community |
| version_compile_machine | x86_64 |
| version_compile_os | Linux |
+-------------------------+-----------------+
注意:需替换 用户名
为实际账户名,并输入密码。
方法 3:查看 MySQL 服务状态(Systemd 系统)
适用场景:MySQL 正在运行但无法登录
命令:
systemctl status mysql # 或(旧版系统使用) service mysql status
输出关键行:Active: active (running) since ...; MySQL Community Server - GPL, version 8.0.33
方法 4:检查安装包信息
适用场景:已知 MySQL 通过包管理器安装
-
Debian/Ubuntu (APT):
dpkg -l | grep mysql-server
输出示例:
ii mysql-server-8.0 8.0.33-0ubuntu0.22.04.2 ...
-
CentOS/RHEL (YUM/DNF):
rpm -qa | grep mysql-community-server
输出示例:
mysql-community-server-8.0.33-1.el7.x86_64
方法 5:查找 MySQL 配置文件或日志
适用场景:服务未运行或无法连接
- 配置文件路径(通常含版本注释):
cat /etc/mysql/my.cnf | grep "version"
- 错误日志定位:
-- 登录 MySQL 后查询日志路径 SHOW VARIABLES LIKE 'log_error';
然后查看日志文件首行:
... [Note] mysqld (mysqld 8.0.33) starting as process ...
方法 6:直接调用 mysqld 二进制文件
适用场景:所有环境通用
/usr/sbin/mysqld --version # 若路径不同,使用 whereis 定位: whereis mysqld
输出示例:mysqld Ver 8.0.33 for Linux on x86_64 (MySQL Community Server - GPL)
场景选择建议
情况 | 推荐方法 |
---|---|
快速检查本地客户端版本 | 方法 1 (mysql -V ) |
验证服务端运行版本 | 方法 2 (登录查询) |
服务运行中但无法登录 | 方法 3 (系统状态) |
仅需确认安装包版本 | 方法 4 (包管理器) |
MySQL 进程未启动 | 方法 5 或 6 |
重要提示:
- 生产环境中优先使用 方法 2 或 方法 6,结果最准确。
- 若遇到权限问题,在命令前加
sudo
。- 多实例环境需指定
-S
(socket 路径)或-P
(端口)。
通过上述方法,可全面覆盖 Linux 下 MySQL 版本查询需求,实际操作时,建议交叉验证 2 种不同方法以确保结果一致。
引用来源:
- MySQL 8.0 Official Documentation: Server System Variables
- Linux Man Pages:
mysql(1)
,mysqld(8)
,systemctl(1)