Comment récupérer la version actuelle d'un système de gestion de base de données MySQL (SGBD)?

423

Quelle commande renvoie la version actuelle d'une base de données MySQL?

phéromix
la source
6
Un nombre surprenant de réponses ci-dessous suggère une variante de mysql --version. Cela donne la version de l' utilitaire client , pas le serveur, c'est donc un peu comme essayer de trouver votre version d'Apache en chargeant Firefox et en ouvrant la boîte de dialogue Aide-> À propos.
mwfearnley

Réponses:

122

De nombreuses réponses suggèrent d'utiliser mysql --version. Mais le mysqlprogramme est le client. Le serveur est mysqld. La commande doit donc être

mysqld --version

ou

mysqld --help

Cela fonctionne pour moi sur Debian et Windows.

Lorsque vous êtes connecté à un serveur MySQL avec un client, vous pouvez utiliser

select version()

ou

select @@version
Paul Spiegel
la source
622

Essayez cette fonction -

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

VERSION()

Ou pour plus de détails, utilisez:

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)

Manuel de référence MySQL 5.0 (pdf) - Déterminer votre version actuelle de MySQL - page 42

Devart
la source
que faire si je ne veux pas exécuter quoi que ce soit lié à mysql lui-même? où sont stockées ces informations de version?
Sajuuk
173

essayer

mysql --version

par exemple. Ou dpkg -l 'mysql-server*'.

Michael Krelin - pirate
la source
1
C'est la meilleure option rapide si vous êtes paresseux - vous n'avez même pas besoin de vous connecter :-Dfonctionne correctement sur la ligne de commande Centos / RHEL ainsi que sur Ubuntu.
user56reinstatemonica8
11
@ user568458, certes, cependant, il vous donne la version du client ou la version du serveur local à condition que celui qui est installé en tant que package soit en cours d'exécution;)
Michael Krelin - pirate
La commande mysql --versionn'est pas spécifique au système d'exploitation. Cela fonctionnera sur n'importe quelle distribution Linux, Windows et OS X.
Kolob Canyon
@KolobCanyon, eh bien, à moins que vous ne l'ayez pas dans le chemin :)
Michael Krelin - pirate
1
La commande qui fonctionne pour la version du serveur ne fonctionnera probablement que si le serveur est exécuté à partir d'un paquet installé par Debian.
mwfearnley
30

Utiliser mysql -Vfonctionne bien pour moi sur Ubuntu.

Umesh Kaushik
la source
3
Cela donne la version de l' mysqlutilitaire client. Il peut s'agir d'une version similaire s'il est installé sur le même système que le serveur, mais s'ils sont sur des systèmes différents, cela peut être complètement différent.
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)

Manuel de référence MySQL 5.0 (pdf) - Déterminer votre version actuelle de MySQL - page 42

John Woo
la source
16

J'ai trouvé un moyen facile de l'obtenir.

Exemple: commande Unix (de cette façon, vous n'avez pas besoin de 2 commandes.),

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

Exemples de sorties:

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

Dans le cas ci-dessus, la version mysql est 5.5.49 .

Veuillez trouver cette référence utile .

tk_
la source
13

Pour UBUNTU, vous pouvez essayer la commande suivante pour vérifier la version de mysql:

mysql --version
Muhammad waqas muneer
la source
9
C'est la même réponse que @MichaelKrelin a répondu!
dani24
3
Cela vous donnera la version client mysql, pas le serveur.
Matt K
13

Version client mysql: Attention, cela ne renvoie pas la version serveur, cela donne la version utilitaire client mysql

mysql -version 

Version du serveur Mysql: il existe de nombreuses façons de trouver

  1. SELECT version();

entrez la description de l'image ici

  1. SHOW VARIABLES LIKE "%version%";

entrez la description de l'image ici

  1. mysqld --version
Amitesh
la source
La mysqlcommande doit être en minuscules pour la plupart des plates-formes non Windows. Mais aussi, il serait préférable de ne pas ouvrir votre réponse avec la version client MySQL , car ce n'est pas ce qui est demandé et pourrait induire les gens en erreur.
mwfearnley
L'idée ici est de fournir des informations pertinentes, pas une réponse rapide. Quoi qu'il en soit, réponse mise à jour en fonction de votre suggestion. Merci!!
Amitesh
Salut, merci d'avoir écouté mes commentaires. Je supprimerais toujours les informations du client, car elles ne sont pas pertinentes (bien qu'elles soient tangentiellement liées). Et au moins, je recommanderais d'ouvrir avec les informations de «version du serveur». Votre avertissement est cependant utile.
mwfearnley
11

Connectez-vous simplement au Mysql avec

mysql -u root -p

Tapez ensuite cette commande

select @@version;

Cela donnera le résultat,

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

Version du serveur MySQL

shell> mysqld --version

Version du client MySQL

shell> mysql --version

shell> mysql -V 

Nanhe Kumar
la source
4
Ceux-ci donnent la version de l' mysqlutilitaire client, qui peut être complètement différente de la version exécutée par le serveur de base de données.
mwfearnley
@mwfearnley: vous avez raison.
Nanhe Kumar
Je vois que vous avez mis à jour votre réponse maintenant pour inclure les deux et mettre la version du serveur en premier. Merci.
mwfearnley
9

mysqladmin version OU mysqladmin -V

Singh Anuj
la source
2
Cela indiquera à la version du client mysqladmin de ne pas être sur le serveur mysql
Amitesh
mysqladmin version(avec les détails de connexion appropriés) donnera la version réelle du serveur, mais mysqladmin -Vdonne la version de l' mysqladminutilitaire de ligne de commande, ce qui n'est probablement pas ce que vous voulez.
mwfearnley
8

Depuis la console, vous pouvez essayer:

mysqladmin version -u USER -p PASSWD
pointe
la source
4

Vous pouvez également regarder le haut du shell MySQL lors de votre première connexion. Il montre en fait la version là.

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
la source
4

Avec CLI en une seule ligne:

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

ou

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

retourner quelque chose comme ceci:

+-----------+
| version() |
+-----------+
| 5.6.34    |
+-----------+
Nolwennig
la source
4

Pour Mac,

  1. connectez-vous au serveur mysql.

  2. exécutez la commande suivante:

     SHOW VARIABLES LIKE "%version%";
KayV
la source
2
Cela devrait fonctionner dans un client MySQL sur n'importe quelle plate-forme. C'est la même solution donnée dans une réponse précédente: 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
la source
Pourriez-vous s'il vous plaît fournir un certain contexte à votre réponse. Bien que ce soit clair, cela montre une solution, une explication de votre approche et pourquoi sa bonne méthode serait utile. Généralement, le simple fait de publier des morceaux de code est mal vu dans SO.
Entité unique du
4
Je ne pense pas qu'une explication soit nécessaire pour expliquer pourquoi SELECT @@version;, qui montre la version, serait une bonne méthode pour montrer la version. Le plus gros problème de l'OMI est que cette réponse est un double des réponses antérieures.
Matthew Read
0

Dans Windows, ouvrez l'invite de commande et tapez MySQL -Vou MySQL --version. Si vous utilisez Linux get terminal et tapezMySQL -v

Manjitha teshara
la source
rapide ! pas besoin d'être connecté à la base de données :) merci
phéromix
3
C'est uniquement pour le client MySQL, qui peut être très différent du serveur. De plus, la commande Linux devrait être en minuscules.
mwfearnley
-1

Voici deux autres méthodes:

Linux: version vue mysql: de PHP

A partir d'une fonction PHP, on peut voir la version utilisée:

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

Linux: version de la vue Mysql: version du package

Pour les systèmes d'exploitation RedHat / CentOS:

rpm -qa | grep mysql

Pour les systèmes d'exploitation Debian / Ubuntu:

rpm -qa | grep mysql

Extrait de: https://www.sysadmit.com/2019/03/linux-mysql-ver-version.html

John Elvial
la source
-1

Seul ce code fonctionne pour moi

/usr/local/mysql/bin/mysql -V  
Kuhan
la source
Cela renvoie le numéro de version du client , pas du serveur
Nico Haase