¿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?


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

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



¿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*'.


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.


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


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 .


13

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

mysql --version

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

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)

10

Versión del servidor MySQL

shell> mysqld --version

Versión de cliente MySQL

shell> mysql --version

shell> mysql -V 


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


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

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>

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

4

Para Mac,

  1. Inicie sesión en el servidor mysql.

  2. ejecuta el siguiente comando:

     SHOW VARIABLES LIKE "%version%";

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)

¿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


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


-1

Solo este código me funciona

/usr/local/mysql/bin/mysql -V  

Eso devuelve el número de versión del cliente , no del servidor
Nico Haase
Al usar nuestro sitio, usted reconoce que ha leído y comprende nuestra Política de Cookies y Política de Privacidad.
Licensed under cc by-sa 3.0 with attribution required.