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


422

Яка команда повертає поточну версію бази даних MySQL?


6
Дивовижна кількість відповідей нижче наводить на думку про якийсь варіант mysql --version. Це дає версію клієнтської утиліти, а не сервера, тож це схоже на те, щоб спробувати знайти свою версію Apache, завантаживши Firefox та відкривши діалогове вікно Довідка> Про програму.
mwfearnley

Відповіді:


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? де зберігається інформація про цю версію?
Саджук

173

спробуйте

mysql --version

наприклад. Або dpkg -l 'mysql-server*'.


1
Це найкращий швидкий варіант, якщо ви ліниві - вам навіть не потрібно входити в систему, :-Dдобре працює в командному рядку Centos / RHEL, а також Ubuntu.
user56reinstatemonica8

11
@ user568458, правда, він дає вам клієнтську версію або версію локального сервера за умови запуску тієї, яка встановлена ​​як пакет;)
Майкл Крелін - хакер

Команда 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

Для 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
Amitesh

mysqladmin version(з відповідними деталями з'єднання) надасть фактичну версію сервера, але mysqladmin -Vнадає версію mysqladminутиліти командного рядка, яка, мабуть, не є тим, що потрібно.
mwfearnley

8

З консолі можна спробувати:

mysqladmin version -u USER -p PASSWD

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.
Одинична особа

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

0

У Windows відкрийте командний рядок і введіть 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: версія пакета

Для операційних систем 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.