Jak pobrać aktualną wersję systemu zarządzania bazą danych MySQL (DBMS)?

422

Jakie polecenie zwraca bieżącą wersję bazy danych MySQL?

feromix
źródło
6
Zaskakująca liczba odpowiedzi poniżej sugeruje jakiś wariant mysql --version. Daje to wersję narzędzia klienta , a nie serwer, więc to trochę jak próba znalezienia twojej wersji Apache poprzez załadowanie Firefoksa i otwarcie okna dialogowego Pomoc-> Informacje.
mwfearnley

Odpowiedzi:

121

Wiele odpowiedzi sugeruje użycie mysql --version. Ale mysqlprogram jest klientem. Serwer jest mysqld. Tak powinno być polecenie

mysqld --version

lub

mysqld --help

To działa dla mnie na Debianie i Windowsie.

Po połączeniu z serwerem MySQL za pomocą klienta możesz użyć

select version()

lub

select @@version
Paul Spiegel
źródło
620

Wypróbuj tę funkcję -

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

WERSJA()

Lub po więcej szczegółów użyj:

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)

Podręcznik MySQL 5.0 (pdf) - Określanie aktualnej wersji MySQL - strona 42

Devart
źródło
co jeśli nie chcę uruchamiać niczego związanego z samym mysql? gdzie są przechowywane informacje o tej wersji?
Sajuuk
173

próbować

mysql --version

na przykład. Lub dpkg -l 'mysql-server*'.

Michael Krelin - haker
źródło
1
Jest to najlepsza szybka opcja, jeśli jesteś leniwy - nawet nie musisz się logować :-Ddziała dobrze w wierszu poleceń Centos / RHEL, a także w Ubuntu.
user56reinstatemonica8
11
@ user568458, co prawda, daje ci wersję klienta lub wersję lokalnego serwera, pod warunkiem, że uruchomiony jest ten, który jest zainstalowany jako pakiet;)
Michael Krelin - haker
Polecenie mysql --versionnie jest specyficzne dla systemu operacyjnego. Będzie to działać na dowolnej dystrybucji Linuksa, Windows i OS X.
Kolob Canyon
@KolobCanyon, cóż, chyba że nie masz tego na swojej drodze :)
Michael Krelin - haker
1
Polecenie, które działa dla wersji serwerowej, będzie prawdopodobnie działać tylko wtedy, gdy serwer działa z pakietu zainstalowanego w Debianie.
mwfearnley
30

Użyj mysql -Vdziała dla mnie dobrze na Ubuntu.

Umesh Kaushik
źródło
3
Daje to wersję mysqlnarzędzia klienta. Może to być podobna wersja, jeśli jest zainstalowana w tym samym systemie co serwer, ale jeśli są one w różnych systemach, może być zupełnie inna.
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)

Podręcznik MySQL 5.0 (pdf) - Określanie aktualnej wersji MySQL - strona 42

John Woo
źródło
16

Znalazłem prosty sposób na uzyskanie tego.

Przykład: polecenie Unix (w ten sposób nie potrzebujesz 2 poleceń.),

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

Przykładowe wyniki:

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

W powyższym przypadku wersja mysql to 5.5.49 .

Proszę znaleźć to przydatne odniesienie .

tk_
źródło
13

W przypadku UBUNTU możesz wypróbować następujące polecenie, aby sprawdzić wersję mysql:

mysql --version
Muhammad waqas muneer
źródło
9
To ta sama odpowiedź, na którą odpowiedział @MichaelKrelin!
dani24
3
To da ci wersję klienta mysql, a nie serwer.
Matt K
13

Wersja klienta MySQL : Uwaga: nie zwraca wersji serwera, daje wersję narzędzia klienta MySQL

mysql -version 

Wersja serwera MySQL: Istnieje wiele sposobów na znalezienie

  1. SELECT version();

wprowadź opis zdjęcia tutaj

  1. SHOW VARIABLES LIKE "%version%";

wprowadź opis zdjęcia tutaj

  1. mysqld --version
Amitesh
źródło
W mysqlprzypadku większości platform innych niż Windows polecenie musi być pisane małymi literami. Ale lepiej też nie otwierać odpowiedzi w wersji klienta MySQL , ponieważ nie jest to wymagane i może wprowadzać w błąd ludzi.
mwfearnley
Chodzi tutaj o podanie istotnych informacji, a nie szybkiej odpowiedzi. W każdym razie zaktualizowana odpowiedź na podstawie Twojej sugestii. Dzięki!!
Amitesh
Cześć, dziękuję za wysłuchanie mojej opinii. Nadal usunęłbym informacje o kliencie, ponieważ nie są one istotne (chociaż są stycznie powiązane). Przynajmniej polecam otwarcie z informacją o „wersji serwera”. Twoje ostrzeżenie jest jednak pomocne.
mwfearnley
11

Wystarczy zalogować się do MySQL za pomocą

mysql -u root -p

Następnie wpisz to polecenie

select @@version;

To da wynik, ponieważ

+-------------------------+
| @@version               |
+-------------------------+
| 5.7.16-0ubuntu0.16.04.1 |
+-------------------------+
1 row in set (0.00 sec)
Nirojan Selvanathan
źródło
10

Wersja serwera MySQL

shell> mysqld --version

Wersja klienta MySQL

shell> mysql --version

shell> mysql -V 

Nanhe Kumar
źródło
4
Dają one wersję mysqlnarzędzia klienta, która może całkowicie różnić się od wersji uruchomionej przez serwer bazy danych.
mwfearnley
@mwfearnley: masz rację.
Nanhe Kumar
Widzę, że zaktualizowałeś teraz swoją odpowiedź, aby uwzględnić oba te elementy i umieściłeś wersję serwerową na pierwszym miejscu. Dzięki.
mwfearnley
9

mysqladmin version LUB mysqladmin -V

Singh Anuj
źródło
2
Dzięki temu wersja klienta mysqladmin nie będzie wysyłana do serwera mysql
Amitesh
mysqladmin version(z odpowiednimi szczegółami połączenia) poda aktualną wersję serwera, ale mysqladmin -Vpoda wersję mysqladminnarzędzia wiersza poleceń, co prawdopodobnie nie jest tym, czego chcesz.
mwfearnley
8

Z konsoli możesz wypróbować:

mysqladmin version -u USER -p PASSWD
kolec
źródło
4

Możesz także spojrzeć na górę powłoki MySQL podczas pierwszego logowania. Właściwie pokazuje wersję właśnie tam.

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>
David Duggins
źródło
4

Z CLI w jednej linii:

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

lub

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

zwróć coś takiego:

+-----------+
| version() |
+-----------+
| 5.6.34    |
+-----------+
Nolwennig
źródło
4

Dla Maca,

  1. zaloguj się do serwera mysql.

  2. wykonaj następujące polecenie:

     SHOW VARIABLES LIKE "%version%";
KayV
źródło
2
Powinno to działać w kliencie MySQL na dowolnej platformie. To samo rozwiązanie podano we wcześniejszej odpowiedzi: 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)
Abhay Singh
źródło
Czy możesz podać kontekst odpowiedzi. Chociaż jest to jasne, pokazuje to rozwiązanie, wyjaśnienie twojego podejścia i dlaczego jest to dobra metoda. Ogólnie rzecz biorąc, tylko wysyłanie fragmentów kodu jest marszczone w SO.
Jedna jednostka
4
Nie sądzę, aby potrzebne było jakiekolwiek wyjaśnienie, dlaczego SELECT @@version;, która pokazuje wersję, byłaby dobrym sposobem na pokazanie wersji. Większym problemem IMO jest to, że ta odpowiedź jest duplikatem wcześniejszych odpowiedzi.
Mateusz
0

W systemie Windows otwórz wiersz polecenia i wpisz MySQL -Vlub MySQL --version. Jeśli używasz Linuksa, pobierz terminal i wpiszMySQL -v

Manjitha teshara
źródło
szybko! nie trzeba być podłączonym do bazy danych :) dzięki
pheromix
3
Dotyczy to tylko klienta MySQL, który może się bardzo różnić od serwera. Ponadto polecenie systemu Linux musiałoby być pisane małymi literami.
mwfearnley
-1

Oto dwie kolejne metody:

Linux: Mysql zobacz wersję: z PHP

Z funkcji PHP możemy zobaczyć zastosowaną wersję:

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

Linux: wersja widoku MySQL: wersja pakietu

W przypadku systemów operacyjnych RedHat / CentOS:

rpm -qa | grep mysql

W systemach operacyjnych Debian / Ubuntu:

rpm -qa | grep mysql

Wyodrębniono z: https://www.sysadmit.com/2019/03/linux-mysql-ver-version.html

John Elvial
źródło
-1

Tylko ten kod działa dla mnie

/usr/local/mysql/bin/mysql -V  
Kuhan
źródło
Zwraca numer wersji klienta , a nie serwera
Nico Haase,