Wie kann ich die aktuelle Version eines MySQL-Datenbankverwaltungssystems (DBMS) abrufen?

422

Welcher Befehl gibt die aktuelle Version einer MySQL-Datenbank zurück?

Pheromix
quelle
6
Eine überraschende Anzahl von Antworten unten schlägt eine Variante von vor mysql --version. Dies gibt die Version des Client- Dienstprogramms an, nicht den Server. Es ist also ein bisschen so, als würden Sie versuchen, Ihre Apache-Version herauszufinden, indem Sie Firefox laden und das Dialogfeld Hilfe-> Info öffnen.
mwfearnley

Antworten:

121

Viele Antworten empfehlen zu verwenden mysql --version. Aber das mysqlProgramm ist der Client. Der Server ist mysqld. So sollte der Befehl sein

mysqld --version

oder

mysqld --help

Das funktioniert bei mir unter Debian und Windows.

Wenn Sie mit einem Client mit einem MySQL-Server verbunden sind, können Sie diesen verwenden

select version()

oder

select @@version
Paul Spiegel
quelle
620

Probieren Sie diese Funktion aus -

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

AUSFÜHRUNG()

Oder für weitere Details verwenden Sie:

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 Referenzhandbuch (pdf) - Ermitteln Ihrer aktuellen MySQL-Version - Seite 42

Devart
quelle
Was ist, wenn ich nichts mit MySQL selbst zu tun haben möchte? Wo werden diese Versionsinformationen gespeichert?
Sajuuk
173

Versuchen

mysql --version

zum Beispiel. Oder dpkg -l 'mysql-server*'.

Michael Krelin - Hacker
quelle
1
Dies ist die beste schnelle Option, wenn Sie faul sind - Sie müssen sich nicht einmal anmelden, :-Dfunktioniert sowohl in der Centos / RHEL-Befehlszeile als auch in Ubuntu.
user56reinstatemonica8
11
@ user568458, zugegebenermaßen gibt es Ihnen die Client-Version oder die Version des lokalen Servers, vorausgesetzt, die als Paket installierte Version wird ausgeführt;)
Michael Krelin - Hacker
Der Befehl mysql --versionist nicht betriebssystemspezifisch. Dies funktioniert auf jeder Linux-Distribution, Windows und OS X.
Kolob Canyon
@ KolobCanyon, na ja, es sei denn, Sie haben es nicht im Weg :)
Michael Krelin - Hacker
1
Der Befehl, der für die Serverversion funktioniert, funktioniert vermutlich nur, wenn der Server von einem von Debian installierten Paket ausgeführt wird.
mwfearnley
30

Verwendung mysql -Vfunktioniert gut für mich unter Ubuntu.

Umesh Kaushik
quelle
3
Dies gibt die Version des mysqlClient-Dienstprogramms an. Dies könnte eine ähnliche Version sein , wenn sie auf dem gleichen System wie der Server installiert ist, aber wenn sie auf verschiedenen Systemen sind, dann könnte es ganz anders sein.
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 Referenzhandbuch (pdf) - Ermitteln Ihrer aktuellen MySQL-Version - Seite 42

John Woo
quelle
16

Ich habe einen einfachen Weg gefunden, das zu bekommen.

Beispiel: Unix-Befehl (auf diese Weise benötigen Sie keine 2 Befehle.),

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

Beispielausgaben:

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

Im obigen Fall ist die MySQL- Version 5.5.49 .

Bitte finden Sie diese nützliche Referenz .

tk_
quelle
13

Für UBUNTU können Sie den folgenden Befehl verwenden, um die MySQL-Version zu überprüfen:

mysql --version
Muhammad waqas muneer
quelle
9
Dies ist die gleiche Antwort, die @MichaelKrelin beantwortet hat!
Dani24
3
Dadurch erhalten Sie die MySQL-Client-Version, nicht den Server.
Matt K
13

MySQL-Client-Version : Bitte beachten Sie, dass dies keine Serverversion zurückgibt, sondern die Version des MySQL-Client-Dienstprogramms

mysql -version 

MySQL-Serverversion: Es gibt viele Möglichkeiten zu finden

  1. SELECT version();

Geben Sie hier die Bildbeschreibung ein

  1. SHOW VARIABLES LIKE "%version%";

Geben Sie hier die Bildbeschreibung ein

  1. mysqld --version
Amitesh
quelle
Der mysqlBefehl muss für die meisten Nicht-Windows-Plattformen in Kleinbuchstaben geschrieben werden. Es ist jedoch auch besser, Ihre Antwort nicht mit der MySQL- Client- Version zu öffnen , da dies nicht erforderlich ist und die Leute irreführen kann.
mwfearnley
Die Idee hier ist, relevante Informationen bereitzustellen, keine schnelle Antwort. Wie auch immer, aktualisierte Antwort basierend auf Ihrem Vorschlag. Vielen Dank!!
Amitesh
Hallo, danke, dass du mir mein Feedback angehört hast. Ich würde die Client-Informationen immer noch entfernen, da sie nicht relevant sind (obwohl sie tangential zusammenhängen). Und zumindest würde ich empfehlen, mit den Informationen zur "Serverversion" zu öffnen. Ihre Warnung ist jedoch hilfreich.
mwfearnley
11

Melden Sie sich einfach mit bei MySQL an

mysql -u root -p

Geben Sie dann diesen Befehl ein

select @@version;

Dies ergibt das Ergebnis als,

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

MySQL Server-Version

shell> mysqld --version

MySQL Client-Version

shell> mysql --version

shell> mysql -V 

Nanhe Kumar
quelle
4
Diese geben die Version des mysqlClient-Dienstprogramms an, die sich möglicherweise vollständig von der Version unterscheidet, auf der der Datenbankserver ausgeführt wird.
mwfearnley
@mwfearnley: Du hast recht.
Nanhe Kumar
Ich sehe, dass Sie Ihre Antwort jetzt so aktualisiert haben, dass sie beide enthält, und dass die Serverversion an erster Stelle steht. Vielen Dank.
mwfearnley
9

mysqladmin version ODER mysqladmin -V

Singh Anuj
quelle
2
Dies wird mysqladmin Client-Version nicht zu mysql Server
Amitesh
mysqladmin version(mit den entsprechenden Verbindungsdetails) gibt die tatsächliche Serverversion an, mysqladmin -Vgibt jedoch die Version des mysqladminBefehlszeilenprogramms an, die wahrscheinlich nicht Ihren Wünschen entspricht.
mwfearnley
8

Über die Konsole können Sie Folgendes versuchen:

mysqladmin version -u USER -p PASSWD
Spitze
quelle
4

Sie können auch beim ersten Anmelden oben in der MySQL-Shell nachsehen. Die Version wird tatsächlich genau dort angezeigt.

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
quelle
4

Mit CLI in einer Zeile:

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

oder

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

gib so etwas zurück:

+-----------+
| version() |
+-----------+
| 5.6.34    |
+-----------+
Nolwennig
quelle
4

Für Mac

  1. Melden Sie sich beim MySQL-Server an.

  2. Führen Sie den folgenden Befehl aus:

     SHOW VARIABLES LIKE "%version%";
KayV
quelle
2
Dies sollte in einem MySQL-Client auf jeder Plattform funktionieren. Es ist die gleiche Lösung, die in einer früheren Antwort angegeben wurde: 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
quelle
Könnten Sie bitte einen Kontext zu Ihrer Antwort angeben? Obwohl klar ist, dass dies eine Lösung darstellt, gibt es einige Erklärungen zu Ihrem Ansatz und warum dies eine gute Methode ist. Im Allgemeinen ist es in SO verpönt, nur Code-Chunks zu veröffentlichen.
Einzel Entity
4
Ich denke nicht, dass eine Erklärung erforderlich ist, warum SELECT @@version;, die die Version zeigt, eine gute Methode zum Anzeigen der Version wäre. Das größere Problem IMO ist, dass diese Antwort ein Duplikat früherer Antworten ist.
Matthew Read
0

Öffnen Sie in Windows die Eingabeaufforderung und geben Sie MySQL -Voder ein MySQL --version. Wenn Sie Linux verwenden, holen Sie sich Terminal und geben Sie einMySQL -v

Manjitha Teshara
quelle
schnell ! Keine Notwendigkeit, mit der Datenbank verbunden zu sein :) Danke
Pheromix
3
Dies gilt nur für den MySQL-Client, der sich möglicherweise stark vom Server unterscheidet. Außerdem müsste der Linux-Befehl in Kleinbuchstaben geschrieben werden.
mwfearnley
-1

Hier zwei weitere Methoden:

Linux: MySQL-Ansicht Version: von PHP

Aus einer PHP-Funktion können wir die verwendete Version sehen:

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

Linux: MySQL-Ansicht Version: Paketversion

Für RedHat / CentOS-Betriebssysteme:

rpm -qa | grep mysql

Für Debian / Ubuntu-Betriebssysteme:

rpm -qa | grep mysql

Auszug aus: https://www.sysadmit.com/2019/03/linux-mysql-ver-version.html

John Elvial
quelle
-1

Nur dieser Code funktioniert bei mir

/usr/local/mysql/bin/mysql -V  
Kuhan
quelle
Das gibt die Versionsnummer des Clients zurück , nicht des Servers
Nico Haase