如何获取MySQL数据库管理系统(DBMS)的当前版本?


422

什么命令返回MySQL数据库的当前版本?


6
以下令人惊讶的答案表明的一些变体mysql --version。这提供的是客户端实用程序的版本,而不是服务器的版本,因此这有点像通过加载Firefox并打开“帮助”->“关于”对话框来尝试找到您的Apache版本。
mwfearnley

Answers:


121

建议使用许多答案mysql --version。但是mysql程序是客户。服务器是mysqld。所以命令应该是

mysqld --version

要么

mysqld --help

这在Debian和Windows上对我有效。

当使用客户端连接到MySQL服务器时,可以使用

select version()

要么

select @@version

620

试试这个功能-

SELECT VERSION();
-> '5.7.22-standard'

版()

或使用以下更多详细信息:

SHOW VARIABLES LIKE "%version%";
+-------------------------+------------------------------------------+
| Variable_name           | Value                                    |
+-------------------------+------------------------------------------+
| protocol_version        | 10                                       |
| version                 | 5.0.27-standard                          |
| version_comment         | MySQL Community Edition - Standard (GPL) |
| version_compile_machine | i686                                     |
| version_compile_os      | pc-linux-gnu                             |
+-------------------------+------------------------------------------+
5 rows in set (0.04 sec)

MySQL 5.0参考手册(pdf)-确定当前的MySQL版本-第42页



如果我不想运行任何与mysql本身相关的东西怎么办?此版本信息存储在哪里?
Sajuuk

173

尝试

mysql --version

例如。或者dpkg -l 'mysql-server*'


1
如果您很懒惰,这是最好的快速选择-您甚至不需要:-D在Centos / RHEL命令行以及Ubuntu上都可以正常运行。
user56reinstatemonica8

11
@ user568458,不过,诚然,它会为您提供客户端的版本或本地服务器的版本,但前提是该软件包正在运行;)
Michael Krelin-hacker 2015年

该命令mysql --version不是特定于操作系统的。这将在任何Linux发行版工作,Windows和OS X.
科罗布峡谷

@KolobCanyon,好吧,除非您未在路径中:)
Michael Krelin-黑客

1
仅当服务器从Debian安装的软件包中运行时,适用于服务器版本的命令才可能起作用。
mwfearnley

30

mysql -V在Ubuntu上,使用对我来说效果很好。


3
这给出了mysql客户端实用程序的版本。这可能,如果是安装在同一系统在服务器上是类似的版本,但如果他们是在不同的系统,也可能是完全不同的。
mwfearnley

17
SHOW VARIABLES LIKE "%version%";
+-------------------------+------------------------------------------+
| Variable_name           | Value                                    |
+-------------------------+------------------------------------------+
| protocol_version        | 10                                       |
| version                 | 5.0.27-standard                          |
| version_comment         | MySQL Community Edition - Standard (GPL) |
| version_compile_machine | i686                                     |
| version_compile_os      | pc-linux-gnu                             |
+-------------------------+------------------------------------------+
5 rows in set (0.04 sec)

MySQL 5.0参考手册(pdf)-确定当前的MySQL版本-第42页


16

我找到了一种简单的方法。

示例:Unix命令(这样,您不需要2条命令。),

$ mysql -u root -p -e 'SHOW VARIABLES LIKE "%version%";'

样本输出:

+-------------------------+-------------------------+
| Variable_name           | Value                   |
+-------------------------+-------------------------+
| innodb_version          | 5.5.49                  |
| protocol_version        | 10                      |
| slave_type_conversions  |                         |
| version                 | 5.5.49-0ubuntu0.14.04.1 |
| version_comment         | (Ubuntu)                |
| version_compile_machine | x86_64                  |
| version_compile_os      | debian-linux-gnu        |
+-------------------------+-------------------------+

在上述情况下,mysql版本为5.5.49

请找到这个有用的参考



13

Mysql Client版本:请注意,这不会返回服务器版本,这给出了mysql Client Utility版本

mysql -version 

MySQL服务器版本:有很多查找方法

  1. SELECT version();

在此处输入图片说明

  1. SHOW VARIABLES LIKE "%version%";

在此处输入图片说明

  1. mysqld --version

mysql对于大多数非Windows平台,该命令必须小写。而且,最好不要使用MySQL 客户端版本打开答案,因为这不是要求的内容,并且可能会误导人们。
mwfearnley

这里的想法是提供相关信息,而不是快速解答。无论如何,根据您的建议更新了答案。谢谢!!
阿米特什

嗨,谢谢您收听我的反馈。我仍然会删除客户端信息,因为它不相关(尽管它是切向相关的)。至少我建议您打开“服务器版本”信息。您的警告虽然有帮助。
mwfearnley

11

只需使用以下命令登录到Mysql

mysql -u root -p

然后输入此命令

select @@version;

结果如下:

+-------------------------+
| @@version               |
+-------------------------+
| 5.7.16-0ubuntu0.16.04.1 |
+-------------------------+
1 row in set (0.00 sec)

10

MySQL服务器版本

shell> mysqld --version

MySQL客户端版本

shell> mysql --version

shell> mysql -V 


4
这些提供了mysql客户端实用程序的版本,该版本可能与数据库服务器正在运行的版本完全不同。
mwfearnley

@mwfearnley:你是对的。
南河库马尔

我看到您现在已经将答案更新为包含两个答案,并且将服务器版本放在第一位。谢谢。
mwfearnley

9

mysqladmin version 要么 mysqladmin -V


2
这将告诉mysqladmin客户端版本不发送到mysql服务器
Amitesh

mysqladmin version(具有适当的连接详细信息)将提供实际的服务器版本,但mysqladmin -V提供mysqladmin命令行实用程序的版本,这可能不是您想要的。
mwfearnley

8

您可以从控制台尝试:

mysqladmin version -u USER -p PASSWD

4

首次登录时,您还可以查看MySQL Shell的顶部。它实际上在那里显示了版本。

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 67971
Server version: 5.1.73 Source distribution

Copyright (c) 2000, 2013, 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>

4

在命令行中使用CLI:

mysql --user=root --password=pass --host=localhost db_name --execute='select version()';

要么

mysql -uroot -ppass -hlocalhost db_name -e 'select version()';

返回这样的事情:

+-----------+
| version() |
+-----------+
| 5.6.34    |
+-----------+


3
E:\>mysql -u root -p
Enter password: *******
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 1026
Server version: 5.6.34-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> select @@version;
+------------+
| @@version  |
+------------+
| 5.6.34-log |
+------------+
1 row in set (0.00 sec)

您能否提供一些答案的背景信息。尽管很明显,这显示了一个解决方案,但对您的方法进行了一些解释,以及为什么使用这种好的方法会有所帮助。通常,仅发布代码块在SO中不受欢迎。
单一实体

4
我认为不需要任何解释为什么SELECT @@version;显示版本是显示版本的好方法。IMO更大的问题是该答案是先前答案的重复。

0

在Windows中,打开“命令提示符”,然后键入MySQL -VMySQL --version。如果您使用Linux,请获取终端并输入MySQL -v


快!无需连接到数据库:)谢谢
pheromix'Aug

3
这仅适用于MySQL客户端,这可能与服务器完全不同。另外,Linux命令将需要小写。
mwfearnley

-1

这里还有两种方法:

Linux:Mysql视图版本:从PHP

从PHP函数,我们可以看到所使用的版本:

mysql_get_server_info ([resource $ link_identifier = NULL]): string

Linux:Mysql查看版本:软件包版本

对于RedHat / CentOS操作系统:

rpm -qa | grep mysql

对于Debian / Ubuntu操作系统:

rpm -qa | grep mysql

摘自:https : //www.sysadmit.com/2019/03/linux-mysql-ver-version.html


-1

仅此代码对我有用

/usr/local/mysql/bin/mysql -V  

这将返回客户端而不是服务器的版本号
Nico Haase
By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.