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.