当前位置:首页 > Linux > 正文

Linux怎么查MySQL版本

在Linux中查看MySQL版本,常用两种方法:,1. 终端执行命令: mysql -Vmysql --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 正在运行但无法登录
命令

Linux怎么查MySQL版本  第1张

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 配置文件或日志

适用场景:服务未运行或无法连接

  1. 配置文件路径(通常含版本注释):
    cat /etc/mysql/my.cnf | grep "version"
  2. 错误日志定位
    -- 登录 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)
0