Como recuperar a versão atual de um sistema de gerenciamento de banco de dados MySQL (DBMS)?


422

Qual comando retorna a versão atual de um banco de dados MySQL?


6
Um número surpreendente de respostas abaixo sugere alguma variante de mysql --version. Isso fornece a versão do utilitário do cliente , não o servidor, por isso é um pouco como tentar descobrir sua versão do Apache carregando o Firefox e abrindo a caixa de diálogo Ajuda-> Sobre.
— mwfearnley

Respostas:


121

Muitas respostas sugerem o uso mysql --version. Mas o mysqlprograma é o cliente. O servidor é mysqld. Portanto, o comando deve ser

mysqld --version

ou

mysqld --help

Isso funciona para mim no Debian e Windows.

Quando conectado a um servidor MySQL com um cliente, você pode usar

select version()

ou

select @@version

621

Experimente esta função -

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

VERSÃO()

Ou, para mais detalhes, 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 referência do MySQL 5.0 (pdf) - Determinando sua versão atual do MySQL - página 42



e se eu não quiser executar nada relacionado ao mysql? onde essas informações de versão são armazenadas?
— Sajuuk 18/01/19

173

tentar

mysql --version

por exemplo. Or dpkg -l 'mysql-server*'.


1
Esta é a melhor opção rápida, se você é preguiçoso - você nem precisa fazer login :-Dfunciona bem na linha de comando do Centos / RHEL e no Ubuntu.
— usar o seguinte comando

11
@ user568458, é certo que, no entanto, dá-lhe a versão do cliente ou a versão do servidor local, desde que aquele que é instalado como um pacote está em execução;)
— Michael Krelin - hacker de

O comando mysql --versionnão é específico do SO. Isto irá funcionar em qualquer distro Linux, Windows e OS X.
— Kolob Canyon

@KolobCanyon, bem, a menos que você não tem isso no caminho :)
— Michael Krelin - hacker de

1
O comando que funciona para a versão do servidor presumivelmente funcionará apenas se o servidor estiver sendo executado a partir de um pacote instalado pela Debian.
— precisa saber é o seguinte

30

Use mysql -Vfunciona bem para mim no Ubuntu.


3
Isso fornece a versão do mysqlutilitário do cliente. Essa pode ser uma versão semelhante se estiver instalada no mesmo sistema que o servidor, mas se estiverem em sistemas diferentes, poderá ser completamente diferente.
— precisa saber é o seguinte

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 referência do MySQL 5.0 (pdf) - Determinando sua versão atual do MySQL - página 42


16

Eu encontrei uma maneira fácil de conseguir isso.

Exemplo: comando Unix (desta forma, você não precisa de 2 comandos).

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

Saídas de amostra:

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

No caso acima, a versão do mysql é 5.5.49 .

Por favor, encontre esta referência útil .


13

Para UBUNTU, você pode tentar o seguinte comando para verificar a versão do mysql:

mysql --version

9
Esta é a mesma resposta que @MichaelKrelin respondeu!
— Dani24 4/04

3
Isso fornecerá a versão do cliente mysql, não o servidor.
— Matt K

13

Versão do cliente Mysql : Cuidado, isso não retorna a versão do servidor, isso fornece a versão do utilitário do cliente mysql

mysql -version 

Versão do servidor Mysql: Existem várias maneiras de encontrar

  1. SELECT version();

insira a descrição da imagem aqui

  1. SHOW VARIABLES LIKE "%version%";

insira a descrição da imagem aqui

  1. mysqld --version

O mysqlcomando precisa estar em letras minúsculas para a maioria das plataformas não Windows. Mas também seria melhor não abrir sua resposta com a versão do cliente MySQL , porque não é o que é solicitado e pode enganar as pessoas.
— mwfearnley

A idéia aqui é fornecer informações relevantes, não respostas rápidas. Enfim, resposta atualizada com base em sua sugestão. Obrigado!!
— Amitesh

Olá, obrigado por ouvir os meus comentários. Eu ainda removeria as informações do cliente, porque não são relevantes (embora estejam relacionadas tangencialmente). E pelo menos eu recomendo abrir com a informação da "versão do servidor". Seu aviso é útil.
— mwfearnley

11

Basta acessar o Mysql com

mysql -u root -p

Então digite este comando

select @@version;

Isso dará o resultado como,

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

10

Versão do MySQL Server

shell> mysqld --version

Versão do cliente MySQL

shell> mysql --version

shell> mysql -V 


4
Eles fornecem a versão do mysqlutilitário do cliente, que pode ser completamente diferente da versão que o servidor de banco de dados está executando.
— precisa saber é o seguinte

@mwfearnley: você está certo.
— Nanhe Kumar 03/03

Vejo que você atualizou sua resposta agora para incluir os dois e colocou a versão do servidor em primeiro lugar. Obrigado.
— mwfearnley 3/03

9

mysqladmin version OU mysqladmin -V


2
Isto informará a versão do cliente mysqladmin para não o servidor mysql #
— 314

mysqladmin version(com detalhes de conexão apropriados) fornecerá a versão real do servidor, mas fornecerá a mysqladmin -Vversão do mysqladminutilitário de linha de comando, que provavelmente não é o que você deseja.
— precisa saber é o seguinte

8

No console, você pode tentar:

mysqladmin version -u USER -p PASSWD

4

Você também pode olhar para a parte superior do shell do MySQL quando efetuar o login pela primeira vez. Na verdade, ele mostra a versão ali.

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

Com CLI em uma linha:

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

ou

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

retornar algo como isto:

+-----------+
| version() |
+-----------+
| 5.6.34    |
+-----------+

4

Para Mac,

  1. faça login no servidor mysql.

  2. execute o seguinte comando:

     SHOW VARIABLES LIKE "%version%";

2
Isso deve funcionar em um cliente MySQL em qualquer plataforma. É a mesma solução dada numa resposta 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)

Você poderia fornecer algum contexto para sua resposta. Embora seja claro, isso mostra uma solução, algumas explicações sobre sua abordagem e por que é um bom método seria útil. Geralmente, apenas a publicação de trechos de código é desaprovada no SO.
— Single Entity

4
Acho que não é necessária nenhuma explicação para o porquê SELECT @@version;, que mostra a versão, seria um bom método para mostrar a versão. O maior problema da IMO é que essa resposta é uma duplicata das respostas anteriores.
— Mateus Leia

0

No Windows, abra o prompt de comando e digite MySQL -Vou MySQL --version. Se você usa Linux, obtenha o terminal e digiteMySQL -v


rápido! não há necessidade de estar conectado ao banco de dados :) Obrigado
— Pheromix

3
Isto é apenas para o cliente MySQL, que pode ser muito diferente do servidor. Além disso, o comando do Linux precisaria ser minúsculo.
— precisa saber é o seguinte

-1

Aqui estão mais dois métodos:

Linux: Mysql ver versão: do PHP

A partir de uma função PHP, podemos ver a versão usada:

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

Linux: Mysql view version: Versão do pacote

Para sistemas operacionais RedHat / CentOS:

rpm -qa | grep mysql

Para sistemas operacionais Debian / Ubuntu:

rpm -qa | grep mysql

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


-1

Somente esse código funciona para mim

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

Isso retorna o número da versão do cliente , não do servidor
— Nico Haase
Ao utilizar nosso site, você reconhece que leu e compreendeu nossa Política de Cookies e nossa Política de Privacidade.
Licensed under cc by-sa 3.0 with attribution required.