查看版本与构建信息是什么
排障与给方案前先对齐版本:VERSION() 给出版本号,@@version_comment 反映发行版来源(Oracle 官方、Percona、MariaDB),@@version_compile_os 说明构建平台。MySQL 8.0 与 5.7 在默认认证插件、复制语法、JSON 与窗口函数能力上差异很大,套用错版本文档给出的建议经常直接失效。客户端与服务端版本还可能不同,两者都要确认。
基本信息
| 版本号 | SELECT VERSION(); |
|---|---|
| 发行版来源 | SELECT @@version_comment; |
| 构建平台 | SELECT @@version_compile_os, @@version_compile_machine; |
| 变量总览 | SHOW VARIABLES LIKE 'version%' |
| 客户端版本 | mysql --version 与 mysqld --version |
典型使用场景
- 排障前置:报错原因往往与版本强相关,先确认版本再查文档
- 方案选型:功能可用性(如窗口函数、降序索引、哈希连接)取决于版本
- 升级评估:确认当前版本与目标版本,评估变更影响
- 环境核对:确认连的是 MariaDB 还是 MySQL,避免混用文档
- 问题复现:把版本信息写进问题记录,方便他人复现
查询命令
查询命令
-- 版本号与发行版来源
SELECT VERSION() AS ver, @@version_comment AS dist;
-- 构建平台信息
SELECT @@version_compile_os AS os, @@version_compile_machine AS arch;
-- 相关变量总览
SHOW VARIABLES LIKE 'version%';
-- InnoDB 引擎版本
SHOW VARIABLES LIKE 'innodb_version';
-- 认证插件默认值(8.0 与 5.7 差异明显)
SHOW VARIABLES LIKE 'default_authentication_plugin';系统侧确认
系统侧确认
# 客户端与服务端版本可能不同,两边都查
mysql --version
mysqld --version
# 用包管理器确认实际安装来源
rpm -qa | grep -i -E 'mysql|percona|mariadb'
# Debian 系
# dpkg -l | grep -i mysql信息读法
| 信息项 | 含义 | 用途 |
|---|---|---|
| VERSION() | 版本号与发行标识 | 判断可用功能与语法 |
| @@version_comment | 发行版来源 | 区分官方、Percona、MariaDB |
| @@version_compile_os | 构建目标平台 | 排查与包来源相关的兼容问题 |
| default_authentication_plugin | 默认认证插件 | 定位客户端连接兼容问题 |
看到 MariaDB 不要直接套用 MySQL 官方文档:两者在部分语法、参数名与行为上有差异,需要查对应发行版的文档。
客户端与服务端版本不一致时可能出现认证或协议兼容问题:这类故障现象往往指向服务端,实际根因在客户端版本过旧。