¿Cómo recuperar la versión actual de un sistema de administración de bases de datos MySQL (DBMS)?

423

¿Qué comando devuelve la versión actual de una base de datos MySQL?

feromix
fuente
66
Un sorprendente número de respuestas a continuación sugieren alguna variante de mysql --version. Esto proporciona la versión de la utilidad del cliente , no el servidor, por lo que es un poco como tratar de encontrar su versión de Apache cargando Firefox y abriendo el cuadro de diálogo Ayuda-> Acerca de.
mwfearnley

Respuestas:

122

Muchas respuestas sugieren usar mysql --version. Pero el mysqlprograma es el cliente. El servidor es mysqld. Entonces el comando debería ser

mysqld --version

o

mysqld --help

Eso funciona para mí en Debian y Windows.

Cuando se conecta a un servidor MySQL con un cliente, puede usar

select version()

o

select @@version
Paul Spiegel
fuente
622

Prueba esta función -

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

VERSIÓN()

O para más detalles use:

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)

Manual de referencia de MySQL 5.0 (pdf): determinación de su versión actual de MySQL - página 42

Devastar
fuente
¿Qué pasa si no quiero ejecutar nada relacionado con MySQL? ¿Dónde se almacena la información de esta versión?
Sajuuk
173

tratar

mysql --version

por ejemplo. O dpkg -l 'mysql-server*'.

Michael Krelin - hacker
fuente
1
Esta es la mejor opción rápida si eres perezoso: ni siquiera necesitas iniciar sesión, :-Dfunciona bien en la línea de comandos de Centos / RHEL y Ubuntu.
user56reinstatemonica8
11
@ user568458, sin embargo, es cierto que le da la versión del cliente o la versión del servidor local siempre que se ejecute el que está instalado como paquete;)
Michael Krelin - hacker
El comando mysql --versionno es específico del sistema operativo. Esto funcionará en cualquier distribución de Linux, Windows y OS X.
Kolob Canyon
@KolobCanyon, bueno, a menos que no lo tengas en camino :)
Michael Krelin - hacker
1
El comando que funciona para la versión del servidor presumiblemente solo funcionará si el servidor se ejecuta desde un paquete instalado en Debian.
mwfearnley
30

El uso mysql -Vfunciona bien para mí en Ubuntu.

Umesh Kaushik
fuente
3
Esto le da la versión de la mysqlutilidad del cliente. Esta podría ser una versión similar si está instalada en el mismo sistema que el servidor, pero si están en sistemas diferentes, podría ser completamente diferente.
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)

Manual de referencia de MySQL 5.0 (pdf): determinación de su versión actual de MySQL - página 42

John Woo
fuente
16

Encontré una manera fácil de conseguir eso.

Ejemplo: comando Unix (de esta manera no necesita 2 comandos),

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

Resultados de muestra:

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

En el caso anterior, la versión de mysql es 5.5.49 .

Por favor encuentre esta referencia útil .

tk_
fuente
13

Para UBUNTU , puede probar el siguiente comando para verificar la versión de mysql:

mysql --version
Muhammad waqas muneer
fuente
99
¡Esta es la misma respuesta que @MichaelKrelin respondió!
dani24
3
Esto le dará la versión del cliente mysql, no el servidor.
Matt K
13

Versión del cliente Mysql : Tenga en cuenta que esto no devuelve la versión del servidor, esto le da la versión de utilidad del cliente mysql

mysql -version 

Versión del servidor Mysql: hay muchas formas de encontrar

  1. SELECT version();

ingrese la descripción de la imagen aquí

  1. SHOW VARIABLES LIKE "%version%";

ingrese la descripción de la imagen aquí

  1. mysqld --version
Amitesh
fuente
El mysqlcomando debe estar en minúsculas para la mayoría de las plataformas que no son de Windows. Pero también, sería mejor no abrir su respuesta con la versión del cliente MySQL , porque no es lo que se solicita y podría confundir a las personas.
mwfearnley
La idea aquí es proporcionar información relevante, no una respuesta rápida. De todos modos, la respuesta actualizada se basa en su sugerencia. ¡¡Gracias!!
Amitesh
Hola, gracias por escuchar mis comentarios. Todavía eliminaría la información del cliente, porque no es relevante (aunque está relacionada tangencialmente). Y al menos recomendaría abrir con la información de "versión del servidor". Sin embargo, su advertencia es útil.
mwfearnley
11

Simplemente inicie sesión en Mysql con

mysql -u root -p

Luego escriba este comando

select @@version;

Esto dará el resultado como,

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

Versión del servidor MySQL

shell> mysqld --version

Versión de cliente MySQL

shell> mysql --version

shell> mysql -V 

Nanhe Kumar
fuente
44
Estos proporcionan la versión de la mysqlutilidad del cliente, que puede ser completamente diferente de la versión que está ejecutando el servidor de bases de datos.
mwfearnley
@mwfearnley: tienes razón.
Nanhe Kumar
Veo que has actualizado tu respuesta ahora para incluir ambos, y poner primero la versión del servidor. Gracias.
mwfearnley
9

mysqladmin version O mysqladmin -V

Singh Anuj
fuente
2
Esto le dirá a la versión del cliente mysqladmin no al servidor mysql
Amitesh
mysqladmin version(con los detalles de conexión apropiados) le dará la versión real del servidor, pero mysqladmin -Vle dará la versión de la mysqladminutilidad de línea de comandos, que probablemente no sea lo que desea.
mwfearnley
8

Desde la consola puedes probar:

mysqladmin version -u USER -p PASSWD
espiga
fuente
4

También puede mirar la parte superior del shell de MySQL cuando inicia sesión por primera vez. En realidad, muestra la versión allí mismo.

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

Con CLI en una línea:

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

o

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

devolver algo como esto:

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

Para Mac,

  1. Inicie sesión en el servidor mysql.

  2. ejecuta el siguiente comando:

     SHOW VARIABLES LIKE "%version%";
KayV
fuente
2
Esto debería funcionar en un cliente MySQL en cualquier plataforma. Es la misma solución dada en una respuesta anterior: 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
fuente
¿Podría por favor proporcionar algún contexto a su respuesta? Aunque está claro, esto muestra una solución, sería útil alguna explicación sobre su enfoque y por qué es un buen método. En general, solo publicar fragmentos de código está mal visto en SO.
Entidad única
44
No creo que se necesite ninguna explicación de por qué SELECT @@version;, que muestra la versión, sería un buen método para mostrar la versión. El mayor problema de la OMI es que esta respuesta es un duplicado de respuestas anteriores.
Matthew leyó el
0

En Windows, abra el símbolo del sistema y escriba MySQL -Vo MySQL --version. Si usa Linux, obtenga terminal y escribaMySQL -v

Manjitha teshara
fuente
rápido! no es necesario estar conectado a la base de datos :) gracias
pheromix
3
Esto es solo para el cliente MySQL, que puede ser muy diferente del servidor. Además, el comando de Linux debería estar en minúsculas.
mwfearnley
-1

Aquí dos métodos más:

Linux: versión de vista Mysql: desde PHP

Desde una función PHP, podemos ver la versión utilizada:

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

Linux: versión de vista Mysql: versión del paquete

Para los sistemas operativos RedHat / CentOS:

rpm -qa | grep mysql

Para los sistemas operativos Debian / Ubuntu:

rpm -qa | grep mysql

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

John Elvial
fuente
-1

Solo este código me funciona

/usr/local/mysql/bin/mysql -V  
Kuhan
fuente
Eso devuelve el número de versión del cliente , no del servidor
Nico Haase