Как получить текущую версию системы управления базами данных MySQL (СУБД)?


423

Какая команда возвращает текущую версию базы данных MySQL?


6
Удивительное количество ответов ниже предлагает какой-то вариант mysql --version. Это дает версию клиентской утилиты, а не сервера, так что это немного похоже на попытку выяснить вашу версию Apache, загрузив Firefox и открыв диалоговое окно Help-> About.
mwfearnley

Ответы:


122

Многие ответы предлагают использовать mysql --version. Но mysqlпрограмма это клиент. Сервер есть mysqld. Так что команда должна быть

mysqld --version

или

mysqld --help

Это работает для меня в Debian и Windows.

При подключении к серверу MySQL с клиентом вы можете использовать

select version()

или

select @@version

622

Попробуйте эту функцию -

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? где хранится информация о версии?
Саюк

173

пытаться

mysql --version

например. Или dpkg -l 'mysql-server*'.


1
Это лучший быстрый вариант, если вы ленивы - вам даже не нужно входить в систему, :-Dработает нормально в командной строке Centos / RHEL, а также в Ubuntu.
user56reinstatemonica8

11
@ user568458, правда, он дает вам версию клиента или версию локального сервера при условии, что тот, который установлен как пакет, работает;)
Майкл Крелин - хакер

Команда mysql --versionне зависит от ОС. Это будет работать на любом дистрибутиве Linux, Windows и OS X.
Колоб Каньон,

@KolobCanyon, ну, если у вас нет этого пути :)
Майкл Крелин - хакер

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

Для UBUNTU вы можете попробовать следующую команду, чтобы проверить версию mysql:

mysql --version

9
Это тот же ответ, который ответил @MichaelKrelin!
dani24

3
Это даст вам версию клиента mysql, а не сервер.
Мэтт К

13

Версия клиента Mysql : Пожалуйста, обратите внимание, что это не возвращает версию сервера, это дает версию утилиты клиента MySQL

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 Server

shell> mysqld --version

Версия клиента MySQL

shell> mysql --version

shell> mysql -V 


4
Они дают версию mysqlклиентской утилиты, которая может полностью отличаться от версии, на которой работает сервер базы данных.
mwfearnley

@mwfearnley: ты прав.
Наньхэ Кумар

Я вижу, что вы обновили свой ответ сейчас, чтобы включить оба, и поместили версию сервера на первое место. Спасибо.
mwfearnley

9

mysqladmin version ИЛИ mysqladmin -V


2
Это скажет клиентской версии mysqladmin не серверу mysql
Амитеш

mysqladmin version(с соответствующими сведениями о соединении) даст фактическую версию сервера, но mysqladmin -Vдаст версию mysqladminутилиты командной строки, что, вероятно, не то, что вам нужно.
mwfearnley


4

Вы также можете посмотреть на верхнюю часть оболочки MySQL при первом входе в систему. На самом деле она показывает версию прямо здесь.

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    |
+-----------+

4

Для Mac

  1. войдите на сервер MySQL.

  2. выполните следующую команду:

     SHOW VARIABLES LIKE "%version%";

2
Это должно работать в клиенте MySQL на любой платформе. Это то же решение, что и в предыдущем ответе: stackoverflow.com/a/8987742/446106
mwfearnley

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.
Single

4
Я не думаю, что нужно какое-то объяснение, почему SELECT @@version;, который показывает версию, будет хорошим способом показать версию. Большая проблема IMO в том, что этот ответ является дубликатом предыдущих ответов.
Мэтью Читал

0

В окнах откройте командную строку и введите MySQL -Vили MySQL --version. Если вы используете Linux, получите терминал и наберитеMySQL -v


быстро ! нет необходимости подключаться к базе данных :) спасибо
pheromix

3
Это только для клиента MySQL, который может сильно отличаться от сервера. Кроме того, команда Linux должна быть в нижнем регистре.
mwfearnley

-1

Вот еще два способа:

Linux: Mysql view версия: из PHP

Из функции PHP мы можем увидеть используемую версию:

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

Linux: Mysql view version: версия пакета

Для операционных систем 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
Используя наш сайт, вы подтверждаете, что прочитали и поняли нашу Политику в отношении файлов cookie и Политику конфиденциальности.
Licensed under cc by-sa 3.0 with attribution required.