在使用mysql数据库的过程中,我们经常会需要确认当前安装的mysql版本号,比如进行版本兼容性排查、功能适配或者升级规划的时候,都需要先明确版本信息。mysql提供了多种不同的方式可以查看版本号,不同的命令适用不同的使用场景,有的适合在命令行客户端直接执行,有的适合在sql语句中调用,还有的可以通过查看系统变量获取。

一、通过mysql命令行客户端直接查看
当我们登录到mysql的命令行客户端时,连接成功后的欢迎信息里就会直接显示当前mysql的版本号,这是最直观的一种方式。如果是已经登录到客户端内部,也可以直接执行VERSION()函数来获取版本信息。
示例操作如下:
-- 登录mysql客户端后执行以下语句 SELECT VERSION();
执行后会返回类似8.0.33这样的版本号结果,该函数的返回值就是当前mysql服务器的版本字符串。
二、使用mysqladmin命令查看
如果不需要登录到mysql客户端内部,也可以在系统的命令行终端中使用mysqladmin工具来查看版本,这个工具是mysql自带的管理工具,适合在服务器运维场景下快速确认版本。
具体命令如下:
mysqladmin -u root -p version
执行后需要输入root用户的密码,之后会输出包含mysql版本、当前运行时间、线程数等信息的详细内容,其中第一行就会明确标注mysql的版本号。
三、通过STATUS命令查看
在已经登录到mysql命令行客户端的情况下,执行STATUS命令(也可以简写为s)可以查看当前mysql服务的状态信息,其中包含版本号。
操作示例如下:
-- 在mysql客户端中执行 STATUS; -- 或者简写 s
输出的结果中会有一行Server version: 8.0.33 MySQL Community Server - GPL的内容,这里就包含了完整的版本信息。
四、查看系统变量获取版本
mysql中有一个系统变量version,存储的就是当前服务器的版本号,我们可以通过查询系统变量的方式获取该值。
对应的sql语句如下:
-- 查询version系统变量 SHOW VARIABLES LIKE 'version';
执行后会返回一个表格,其中Value列的值就是当前的mysql版本号,这种方式适合在需要批量查询或者脚本中获取版本信息的场景使用。
五、不同查看方式的适用场景对比
为了帮助大家选择合适的查看方式,以下是几种常用方式的适用场景对比:
| 查看方式 | 适用场景 | 是否需要登录mysql |
|---|---|---|
| 客户端欢迎信息 | 登录客户端时快速确认 | 是 |
| SELECT VERSION() | sql脚本中调用、客户端内查询 | 是 |
| mysqladmin version | 服务器终端快速查询、运维场景 | 否 |
| STATUS命令 | 客户端内查看完整服务状态 | 是 |
| SHOW VARIABLES LIKE 'version' | 需要获取系统变量、批量查询场景 | 是 |
以上几种方式都可以准确获取mysql的版本号,大家可以根据自己的实际使用场景选择最方便的一种即可。