MySQL 获取版本号的 N 种方法(全网最全以及避坑大全)

MySQL有哪些版本 MySQL各个版本 阅读详情

相信大家在工作学习中经常有需要查询 MySQL 数据库版本的情况,这里给大家介绍几种在 MySQL 中查询数据库版本的方法以及每种方法适用的场景,相信总有一种可以帮到你。

另外,作者在写这篇文章的时候查看了全网多篇热门文章,发现了其中一些文章介绍的方法的疏漏,所以最后还有一个章节告诉你网上有哪些方法是错误的,不要错过哦。

方法1:通过 SQL 查询

如果可以连接上数据库并且可以执行 SQL,那么可以直接用 SQL 查看,下边的两种 SQL 都可以查询出来版本号:

写法1:

SELECT VERSION();

写法2:

SELECT @@VERSION;

执行 SQL 的查询结果示例:

+------------+
| version()  |
+------------+
| 5.7.16-log |
+------------+

方法2:通过命令行

如果可以直接通过命令行连接到数据库。

方法2.1:命令行刚连上数据库时

在命令行使用 mysql 命令连接数据库的时候,刚连上之后,从输出的信息中可以看到数据库的版本,示例:

> mysql -uroot -p
Welcome to the MySQL monitor.  Commands end with ; or g.
Your MySQL connection id is 5
Server version: 5.7.16-log MySQL Community Server (GPL)

Copyright (c) 2000, 2016, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or 'h' for help. Type 'c' to clear the current input statement.

mysql>

其中 Server version: 5.7.16-log MySQL Community Server (GPL) 这一行我们就可以看出 MySQL 数据库的版本。

方法2.2:使用 status 命令

如果我们已经通过 mysql 命令连接上了数据库,还可以通过 status 命令或者 s 查看数据库的版本信息以及数据库的相关状态。

示例1:

mysql> status
--------------
mysql  Ver 8.0.33 for Win64 on x86_64 (MySQL Community Server - GPL)  <--------------- 这里是 mysql 客户端(命令行工具)的版本 

Connection id:          5
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.7.16-log MySQL Community Server (GPL) <--------------- 这里才是 MySQL 服务端的版本
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:               3306
Uptime:                 2 hours 40 min 24 sec

Threads: 2  Questions: 213  Slow queries: 0  Opens: 111  Flush tables: 1  Open tables: 104  Queries per second avg: 0.022

示例2:

mysql> s
--------------
mysql  Ver 8.0.33 for Win64 on x86_64 (MySQL Community Server - GPL)  <--------------- 这里是 mysql 客户端(命令行工具)的版本 

Connection id:          5
Current database:
Current user:           root@localhost
SSL:                    Not in use
Using delimiter:        ;
Server version:         5.7.16-log MySQL Community Server (GPL) <--------------- 这里才是 MySQL 服务端的版本
Protocol version:       10
Connection:             localhost via TCP/IP
Server characterset:    utf8
Db     characterset:    utf8
Client characterset:    utf8
Conn.  characterset:    utf8
TCP port:               3306
Uptime:                 2 hours 40 min 24 sec

Threads: 2  Questions: 213  Slow queries: 0  Opens: 111  Flush tables: 1  Open tables: 104  Queries per second avg: 0.022

扩展:方法3:通过 version_comment 辨别开源版本和魔改版本

SHOW VARIABLES LIKE 'version_comment';

这个方法实际上查看的是 MySQL 的版本备注信息。

示例:

+-----------------+------------------------------+
| Variable_name   | Value                        |
+-----------------+------------------------------+
| version_comment | MySQL Community Server (GPL) |
+-----------------+------------------------------+

version_comment 实际上是数据库的一个全局变量,对于开源社区版本来说,这个变量的值都是一样的。但是有一些基于 MySQL 开发或者和 MySQL 兼容的数据库,当需要和 MySQL 进行区分的时候,就可以根据这个全局变量来区分。

比如 TiDB 数据库执行之后查询出来的结果示例:

TiDB Server (Apache License 2.0) Community Edition, MySQL 5.7 compatible

StarRocks 数据库执行之后查询出来的结果示例:

StarRocks version 3.0.3

扩展:方法4:查看所有和版本相关的信息

前边我们介绍了通过全局变量 version_comment 查看 MySQL 具体的编译版本的方法,那么你是否会想?MySQL 中和版本相关的信息还有别的吗?接下来就介绍一种方法,教你把全局变量中和版本相关的信息一网打尽。

执行下边这个 SQL 可以查看所有变量名称中带有 version 的变量。

SHOW GLOBAL VARIABLES LIKE '%version%';

执行后的示例结果:

+-------------------------+------------------------------+
| Variable_name           | Value                        |
+-------------------------+------------------------------+
| innodb_version          | 5.7.16                       |
| protocol_version        | 10                           |
| slave_type_conversions  |                              |
| tls_version             | TLSv1,TLSv1.1                |
| version                 | 5.7.16-log                   |
| version_comment         | MySQL Community Server (GPL) |
| version_compile_machine | x86_64                       |
| version_compile_os      | Win64                        |
+-------------------------+------------------------------+

全网纠错

纠错1:mysql --help 或者 mysql -V 方式

有的文章会教你用 mysql --help 或者 mysql -V 或 mysql --version 的方式查看数据库版本。

但是这种方式,实际上查看的是 mysql 客户端(命令行工具)的版本,而不是 MySQL 数据库服务端的版本。

纠错2:通过 rpm 等包管理工具查看版本

有的文章会教你使用 rpm -qa | grep mysql 这种方式查看服务器安装的版本。

这种方法的限制条件在于:

(1)这种方法只能在安装 MySQL 数据库的服务器上执行。

(2)仅适用于使用 rpm 包管理工具的部分 Linux 操作系统

这种方法可能的坑点在于:

服务器上实际运行的 MySQL 和包管理工具查询出来的可能并不是同一个 SQL。因为这种方法查询出来的仅仅是通过包管理工具安装的 SQL 的版本。但是实际运行的 MySQL 有可能是通过压缩包离线安装的并不是通过包管理工具安装的,这种情况下服务器上可能同时有多种版本的 MySQL。甚至有可能是通过 docker 等虚拟化软件运行的,所以要避免被这种情况给误导了。

后记

为什么要写这篇文章?大家在工作生活中遇到的场景总是纷繁复杂的,即使是简单的问题也往往会有一些坑点,也往往是这种坑点,让人稍不注意就会绕了弯路,比如上边使用 status 命令的时候,同时输出了客户端和服务端版本,不注意的话就容易看错。本文正是希望把一个简单场景梳理清楚,同时把坑点给说清楚,让大家在工作学习中遇到类似场景的时候少走弯路,希望对大家有帮助。

本文是作者在参考了全网多篇文章之后,亲自进行了多种测试之后亲笔编写的,如果对您有帮助,欢迎点赞、收藏、转发、在看,您的支持将会给作者带来不断更新的动力!感谢您的关注,再见~

常见数据库版本 SQL Server安装包 考虑到好些新手同学不知道怎么下载自己所需的数据库软件安装包,特分享一些我收藏的安装包。现分享SQL Server的一些安装包给大家。 根据自身需求下载,新手朋友建议下载SQL Server 2008或SQL Server 2008 R2版本,安装容易且相对比较稳定。 SQL Server 2000 链接: https://pan.baidu.com/s/1Y2n-cQJoUsMEQ5eIWeiD_A 提取码:1024 SQL Server 2005 链接: 阅读详情

相关推荐

PCA9548实战:从硬件连接到Linux驱动的I2C扩展全解析

本文详细解析了PCA9548 I2C多路复用器从硬件连接到Linux驱动配置的全过程。涵盖硬件引脚连接、电源去耦、地址选择等关键设计要点,以及Linux驱动加载、设备树配置和应用层编程技巧,帮助开发者高效实现I2C总线扩展。

weixin_28726391的博客 410

如何查看mysql的版本

使用cmd来查看,提供了多种方式和情况

fatdragoncat的博客 13万+

Flowable高级篇 -6.8.0 最全表结构说明-主要表结构字段注释

flowable 28张表 详细

billzhen的博客 1万+

MySQL 查看版本的 5 种方法

MySQL 提供了几种用于查看服务器版本的方法,本文给大家做个简单的介绍。

Tony.Dong的专栏 6万+

实战|验证码突破思路

漏洞成因:由于逻辑设计缺陷,可绕过验证,比如直接删除COOKIE或验证码参数可绕过、当验证不通过清空session时,验证码参数值为空时绕过等。测试方法:抓包,删除验证码字段,查看是否可以成功发送抓包,正常流程下,记录验证码后的数据包,替换目标包中内容,直接发送,查看是否可以直接绕过验证码案例:Step1.输入正确账户信息和错误验证码,登录时抓包Step2.删除COOKIEStep3.客户端登陆成功。

weixin_46239998的博客 8102

海康威视门禁考勤设备数据对接实战:从被动推送到主动拉取

本文深入探讨了海康威视门禁考勤设备数据对接的两种核心方案:HTTP推送与SDK主动拉取。文章对比了两种方式的适用场景、技术实现与优缺点,为开发者提供了从设备配置、代码编写到工程化部署的完整实战指南,帮助读者根据项目规模、网络环境及数据稳定性要求,做出最合适的技术选型。

weixin_29284657的博客 670

idea刷新项目 快捷键_phpstorm 全网最全的IDEA快捷键总结

全网最全的IDEA快捷键总结,满足开发手速。快捷键介绍alt+left/right标签切换alt+up查看上一个方法ctrl+g跳转行ctrl+r替换代码ctrl+shift+u大小写切换shift+F6重命名shift +enter新一行ctrl+j添加活动代码提示alt+insert生成代码菜单ctrl+alt+t当前位置插入环绕代码ctrl+q查看代码注...

weixin_39736379的博客 1527

pyecharts在jupyter notebook中不能够渲染图表问题。

在使用jupyter notebook中使用pyecharts绘制可视化图表的时候,发现图表不能渲染到页面中,生成的html是没问题的,本文主要解决在jupyter notebook中不能渲染这个问题。

猿小白的博客 1167

mysql分组后再分组_全网最全的mysql分组后取topN的解答

准备好sql45题的成绩表!create table SC( SId varchar(10) comment "学生ID", CId varchar(10) comment "课程ID", score decimal(18,1) comment "课程成绩"); insert into SC values('01' , '01' , 80); insert into SC values('01'...

weixin_39907133的博客 3940

knowhere | 第一课:项目导论与环境搭建

摘要 本课程是Knowhere项目的第一课,重点介绍项目整体架构和开发环境搭建。Knowhere定位为AI Agent的文档记忆基础设施,通过解析多格式文档并保留结构化信息(如章节层级、表格语义等),为Agent提供可导航的文档知识。项目采用Python monorepo结构,核心包括: apps/api:FastAPI服务,处理HTTP请求和流程调用 apps/worker:Celery服务,执行文档解析等耗时任务 packages/shared-python:共享基础设施层 课程明确了各层职责边界,并推

weixin_43674738的博客 152

【unity小技巧】实现FPS射击游戏枪武器随镜头手臂摇摆效果(2025/12/11补充)

如果我们视角移动转向,武器如果不跟着进行摇摆,会感觉我们的动作很生硬,特别是射击类游戏,如下实现武器摇摆这里主要分享两种实现方法,一种是改变武器位置,一种是修改武器旋转想要使用哪种方法都可以,看你自己喜欢,如果是我,我会选择第二种,比较简单,参数也少,而且个人感觉效果也更好,已枪中心做旋转更符合现实。

向宇的博客,专注php/web全栈 unity游戏开发,欢迎大家评论纠错 1470

全网最细讲解 | 一文看懂开源自动化神器 n8n

n8n(发音为“n-eight-n”)是一款开源的、可扩展的工作流自动化工具,其名称灵感来源于“无限循环”(∞ 符号与 n8 的形似),强调自动化流程的灵活性和无限可能性。它通过可视化节点(Node)连接不同应用程序和服务,构建复杂的自动化流程,支持从简单的数据同步到跨系统的企业级自动化场景。n8n 凭借开源灵活性AI 原生集成和混合部署能力,成为技术团队构建复杂工作流的首选工具。“n8n 是技术团队的瑞士军刀,在可视化便捷与代码自由度间取得完美平衡”。🚀 想从零构建企业级自动化流程?**👉。

2401_85235989的博客 3788

麻雀搜索算法(SSA)详解:从鸟群智能到优化实践

麻雀搜索算法(SSA)是一种新型群智能优化算法,模拟麻雀群体的觅食行为和反捕食机制。该算法将优化问题转化为麻雀群体对食物源的搜索过程,通过发现者、加入者和警戒者的角色分工实现高效优化。SSA具有原理新颖、参数合理、收敛快速等特点,在函数优化、工程设计和机器学习等领域展现出良好应用前景。算法通过数学模型模拟麻雀的觅食策略,包括发现者全局探索、加入者局部开发和警戒者危险预警机制,有效平衡了全局搜索与局部开发能力。SSA相比传统优化算法具有更好的收敛性和优化效果。

qq_42212808的博客 1072

【mysql5.7】全网最全最新最细的MYSQL5.7下载安装图文教程

全网最全最新最细的MYSQL5.7下载安装图文教程 一、MYSQL两种安装包格式 MySQL安装文件分为两种,一种是msi格式的,一种是zip格式的。zip格式相当于绿色版,不需要安装,只需解压缩之后就可以使用了,但是要进行配置。msi格式是安装版。 二、MYSQL官网下载 1.官网地址:https://www.mysql.com/ 2...

测试逍遥子的专栏 2653

数学建模模型总结

这是本人在两年内准备参加数学建模竞赛搜集到的模型资料,已经经过了本人的筛选和整理,希望能够对准备参加数学建模竞赛的学弟学妹们提供一些帮助!

霍尼韦尔SoftMaster使用说明

霍尼韦尔SoftMaster使用说明

全网最全最新最细的MYSQL5.7下载安装图文教程

在mysql的bin目录下新建记事本更名为my.ini,注意: my.ini文件的编码必须是英文编码(如windows中的ANSI),不能是UTF-8或GBK等。如果运行mysqld --install 安装服务 显示已存在,输入mysqld --remove 则移除之前安装好的mysql 再次运行mysqld --install。原因是:MySQL版本5.6.6版本起,添加了password_expired(密码失效)功能,但是它的默认值是”N”,可以使用ALTER USER语句来修改这个值。

qq_73332379的博客 2027

C# WinForm 基于DirectShow.dll编写的程序,可边预览边保存视频,音频和图片

基于微软的DirectShow.dll的二次开发1.自动识别连接的摄像头跟麦克风且可以对其进行选择(默认选中第一个)2.可录制wmv和avi两种格式的视频并且都带有音频,avi可以录制的分辨率和帧数进行选择,wmv默认进行了淸晰度优化如不喜欢可去除代码中有相关提示3.可在预览点开之后进行拍照,也可边录制视频边拍照4.添加了视频和音频的压缩功能(酌情使用)这次二次开发发现C#对DirectShow的相关信息太少,这次做完也不敢藏私共享出来,还望大家指正

全网最全的MySQL 必会操作大汇总:从建库到查询,手把手带你上手

操作场景推荐命令风险等级创建新数据库低查看数据库列表低选择数据库低修改数据库字符集中删除数据库(仅测试环境)高企业级规范:数据库命名建议使用小写字母、数字和下划线,避免使用中文和特殊字符;生产数据库名称应包含项目标识(如区分生产和测试环境)。id INT PRIMARY KEY AUTO_INCREMENT COMMENT '学生ID(主键,自增)',name VARCHAR(50) NOT NULL COMMENT '姓名'

m0_74178187的博客 1503

锂电池充电器电路设计 里面有电路

锂电池充电器电路设计 里面有电路 3.7V升压到5V电路设计。

全网最全面试宝典,涵盖各方面最难问题

全网最全面试宝典,涵盖各方面最难问题

yaosichengalpha的博客 977
上一篇: java面试app_java面试题库app
下一篇: MySQL系列之数据类型(Numeric)
普通网友
博客等级 码龄4年 3126粉丝 192原创
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

个

红包个数最小为10个

元

红包金额最低5元

当前余额3.43元 前往充值 >
需支付:10.00元
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付元
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值