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?

feromix
fonte
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
Paul Spiegel
fonte
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

Devart
fonte
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*'.

Michael Krelin - hacker
fonte
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.

Umesh Kaushik
fonte
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

John Woo
fonte
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 .

tk_
fonte
13

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

mysql --version
Muhammad waqas muneer
fonte
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
Amitesh
fonte
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)
Nirojan Selvanathan
fonte
10

Versão do MySQL Server

shell> mysqld --version

Versão do cliente MySQL

shell> mysql --version

shell> mysql -V 

Nanhe Kumar
fonte
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

Singh Anuj
fonte
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
Espinho
fonte
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>
David Duggins
fonte
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    |
+-----------+
Nolwennig
fonte
4

Para Mac,

  1. faça login no servidor mysql.

  2. execute o seguinte comando:

     SHOW VARIABLES LIKE "%version%";
KayV
fonte
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)
Abhay Singh
fonte
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

Manjitha teshara
fonte
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

John Elvial
fonte
-1

Somente esse código funciona para mim

/usr/local/mysql/bin/mysql -V  
Kuhan
fonte
Isso retorna o número da versão do cliente , não do servidor
Nico Haase