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

Posted

技术标签:

【中文标题】如何检索 MySQL 数据库管理系统 (DBMS) 的当前版本?【英文标题】:How to retrieve the current version of a MySQL database management system (DBMS)? 【发布时间】:2012-02-17 17:59:31 【问题描述】:

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

【问题讨论】:

下面惊人数量的答案暗示了mysql --version 的一些变体。这给出了 client 实用程序的版本,而不是服务器,所以这有点像通过加载 Firefox 并打开 Help->About 对话框来找出您的 Apache 版本。 【参考方案1】:

试试这个功能-

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

VERSION()

或者更多细节使用:

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 Reference Manual (pdf) - Determining Your Current MySQL Version - page 42

【讨论】:

dev.mysql.com/doc/refman/5.0/en/installation-version.html 是 404。 如果我不想运行任何与 mysql 本身相关的东西怎么办?此版本信息存储在哪里? @Sajuuk 它没有存储在任何地方。但如果您使用某种打包系统,它将存储版本【参考方案2】:

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

mysqld --version

mysqld --help

这适用于我在 Debian 和 Windows 上。

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

select version()

select @@version

【讨论】:

【参考方案3】:

试试

mysql --version

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

【讨论】:

如果你很懒,这是最好的快速选择 - 你甚至不需要登录 :-D 在 Centos / RHEL 命令行以及 Ubuntu 上都可以正常工作。 @user568458,诚然,它会为您提供客户端的版本或本地服务器的版本,前提是作为软件包安装的服务器正在运行;) 命令mysql --version 不是特定于操作系统的。这适用于任何 Linux 发行版、Windows 和 OS X。 @KolobCanyon,好吧,除非你在路径中没有它:) 适用于服务器版本的命令可能仅在服务器从 Debian 安装的软件包运行时才有效。【参考方案4】:

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

【讨论】:

这给出了mysql 客户端实用程序的版本。如果它与服务器安装在同一个系统上,这可能是一个相似的版本,但如果它们在不同的系统上,它可能会完全不同。【参考方案5】:

Mysql 客户端版本:请注意这不会返回服务器版本,这会给出 mysql 客户端实用程序版本

mysql -version 

Mysql服务器版本:有很多方法可以找到

    SELECT version();

    SHOW VARIABLES LIKE "%version%";

    mysqld --version

【讨论】:

对于大多数非 Windows 平台,mysql 命令需要小写。但是,最好不要使用 MySQL client 版本打开您的答案,因为这不是我们所要求的,并且可能会误导人们。 这里的想法是提供相关信息,而不是快速回答。无论如何,根据您的建议更新答案。谢谢!! 您好,感谢您听取我的反馈。我仍然会删除客户信息,因为它不相关(尽管它是切线相关的)。至少我建议使用“服务器版本”信息打开。不过,您的警告很有帮助。【参考方案6】:
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 Reference Manual (pdf) - Determining Your Current MySQL Version - page 42

【讨论】:

【参考方案7】:

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

示例: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

请找this useful reference。

【讨论】:

【参考方案8】:

UBUNTU你可以试试下面的命令来检查mysql版本:

mysql --version

【讨论】:

这与@MichaelKrelin 的回答相同! 这将为您提供 mysql 客户端版本,而不是服务器。【参考方案9】:

只需登录到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 

【讨论】:

这些给出了mysql 客户端实用程序的版本,它可能与数据库服务器正在运行的版本完全不同。 我看到您现在已经更新了答案以包含两者,并将服务器版本放在首位。谢谢。【参考方案11】:

mysqladmin versionmysqladmin -V

【讨论】:

这将告诉 mysqladmin 客户端版本不要到 mysql 服务器 mysqladmin version(带有适当的连接详细信息)将给出实际的服务器版本,但mysqladmin -V 给出了mysqladmin 命令行实用程序的版本,这可能不是您想要的。 【参考方案12】:

您可以从控制台尝试:

mysqladmin version -u USER -p PASSWD

【讨论】:

【参考方案13】:

转到 MySQL 工作台并登录到服务器。 MANAGEMENT 下有一个名为Server Status 的字段。点击服务器状态并找出版本

或者到以下位置并打开 cmd -> C:\Windows\System32\cmd.exe。然后点击命令 -> mysql -V

【讨论】:

请注意,您可以通过单击左侧“导航器”窗口底部选项卡中的“管理”(而不是“架构”)进入“管理”窗口。【参考方案14】:

在一行中使用 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    |
+-----------+

【讨论】:

【参考方案15】:

对于 Mac,

    登录mysql服务器。

    执行以下命令:

     SHOW VARIABLES LIKE "%version%";
    

【讨论】:

这应该适用于任何平台上的 MySQL 客户端。这与之前的答案中给出的解决方案相同:***.com/a/8987742/446106【参考方案16】:

您还可以在第一次登录时查看 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>

【讨论】:

【参考方案17】:
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 中是不受欢迎的。 我认为不需要解释为什么显示版本的SELECT @@version; 会是显示版本的好方法。 IMO 更大的问题是这个答案与之前的答案重复。【参考方案18】:

Xampp 与 Windows 用户在下面的命令 whihc 在 mysql 目录中工作。

【讨论】:

【参考方案19】:

在 Windows 中,打开命令提示符并输入 MySQL -VMySQL --version。如果你使用 Linux 获取终端并输入 MySQL -v

【讨论】:

快!无需连接到数据库 :) 谢谢 这里只针对MySQL客户端,可能与服务器有很大不同。此外,Linux 命令需要小写。【参考方案20】:

这里还有两个方法:

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

【讨论】:

【参考方案21】:

只有这段代码对我有用

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

【讨论】:

返回客户端的版本号,而不是服务器的

以上是关于如何检索 MySQL 数据库管理系统 (DBMS) 的当前版本?的主要内容,如果未能解决你的问题,请参考以下文章

MySQL ------ 相关概念简介(DBMS ,MySQL连接)(十八)

mysql的简介和使用

MySQL数据库

MySQL简介

不同DBMS之间复制时如何避免数据冗余?

MySQL必知应会-第2章-MySQL简介