Come recuperare la versione corrente di un sistema di gestione di database MySQL (DBMS)?


423

Quale comando restituisce la versione corrente di un database MySQL?


6
Un numero sorprendente di risposte di seguito suggerisce alcune varianti di mysql --version. Questo fornisce la versione dell'utilità client , non il server, quindi è un po 'come cercare la tua versione di Apache caricando Firefox e aprendo la finestra di dialogo Aiuto-> Informazioni.
mwfearnley,

Risposte:


122

Molte risposte suggeriscono di usare mysql --version. Ma il mysqlprogramma è il client. Il server è mysqld. Quindi il comando dovrebbe essere

mysqld --version

o

mysqld --help

Questo funziona per me su Debian e Windows.

Quando sei connesso a un server MySQL con un client puoi usare

select version()

o

select @@version

622

Prova questa funzione -

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

VERSIONE()

O per maggiori dettagli usa:

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)

Manuale di riferimento di MySQL 5.0 (pdf) - Determinazione della versione corrente di MySQL - pagina 42



cosa succede se non voglio eseguire nulla relativo a mysql stesso? dove sono archiviate queste informazioni sulla versione?
Sajuuk,

173

provare

mysql --version

per esempio. Or dpkg -l 'mysql-server*'.


1
Questa è la migliore opzione rapida se sei pigro - non hai nemmeno bisogno di accedere :-Dfunziona bene sulla riga di comando Centos / RHEL e Ubuntu.
user56reinstatemonica8

11
@ user568458, è vero, però, ti dà la versione del client o la versione del server locale a condizione che quella che è installata come pacchetto sia in esecuzione;)
Michael Krelin - hacker

Il comando mysql --versionnon è specifico del sistema operativo. Funzionerà su qualsiasi distribuzione Linux, Windows e OS X.
Kolob Canyon

@KolobCanyon, beh, a meno che tu non lo abbia nel percorso :)
Michael Krelin - hacker

1
Il comando che funziona per la versione del server funzionerà presumibilmente solo se il server è in esecuzione da un pacchetto installato da Debian.
mwfearnley,

30

Uso mysql -Vfunziona bene per me su Ubuntu.


3
Ciò fornisce la versione mysqldell'utilità client. Questa potrebbe essere una versione simile se installata sullo stesso sistema del server, ma se si trovano su sistemi diversi, potrebbe essere completamente diversa.
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)

Manuale di riferimento di MySQL 5.0 (pdf) - Determinazione della versione corrente di MySQL - pagina 42


16

Ho trovato un modo semplice per ottenerlo.

Esempio: comando Unix (in questo modo non sono necessari 2 comandi.),

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

Output di esempio:

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

Nel caso precedente la versione mysql è 5.5.49 .

Si prega di trovare questo utile riferimento .


13

Per UBUNTU puoi provare il seguente comando per controllare la versione di mysql:

mysql --version

9
Questa è la stessa risposta a cui @MichaelKrelin ha risposto!
dani24,

3
Questo ti darà la versione del client mysql, non il server.
Matt K

13

Versione client Mysql : attenzione, questo non restituisce la versione del server, ciò fornisce la versione dell'utilità client mysql

mysql -version 

Versione server Mysql: ci sono molti modi per trovare

  1. SELECT version();

inserisci qui la descrizione dell'immagine

  1. SHOW VARIABLES LIKE "%version%";

inserisci qui la descrizione dell'immagine

  1. mysqld --version

Il mysqlcomando deve essere in minuscolo per la maggior parte delle piattaforme non Windows. Inoltre, sarebbe meglio non aprire la risposta con la versione client MySQL , perché non è ciò che viene richiesto e potrebbe indurre in errore le persone.
mwfearnley,

L'idea qui è di fornire informazioni pertinenti, non una risposta rapida. Comunque, risposta aggiornata in base al tuo suggerimento. Grazie!!
Amitesh,

Ciao, grazie per aver ascoltato il mio feedback. Vorrei ancora rimuovere le informazioni sul client, perché non è pertinente (sebbene sia tangenzialmente correlato). E almeno consiglierei di aprirlo con le informazioni sulla "versione del server". Il tuo avviso è utile però.
mwfearnley,

11

Accedi al Mysql con

mysql -u root -p

Quindi digitare questo comando

select @@version;

Questo darà il risultato come

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

10

Versione di MySQL Server

shell> mysqld --version

Versione client MySQL

shell> mysql --version

shell> mysql -V 


4
Questi forniscono la versione mysqldell'utilità client, che potrebbe essere completamente diversa dalla versione in esecuzione sul server database.
mwfearnley,

@mwfearnley: hai ragione.
Nanhe Kumar,

Vedo che hai aggiornato la tua risposta ora per includerle entrambe e mettere prima la versione del server. Grazie.
mwfearnley,

9

mysqladmin version O mysqladmin -V


2
Questo dirà la versione client mysqladmin non al server mysql
Amitesh

mysqladmin version(con opportuni dettagli della connessione) darà la versione attuale del server, ma mysqladmin -Vdà la versione della mysqladminriga di comando, che probabilmente non è ciò che si vuole.
mwfearnley,

8

Dalla console puoi provare:

mysqladmin version -u USER -p PASSWD

4

Puoi anche vedere la parte superiore della shell MySQL al primo accesso. In realtà mostra la versione proprio lì.

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 in una riga:

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

o

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

restituire qualcosa del genere:

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

4

Per Mac,

  1. accedi al server mysql.

  2. eseguire il comando seguente:

     SHOW VARIABLES LIKE "%version%";

2
Questo dovrebbe funzionare in un client MySQL su qualsiasi piattaforma. E 'la stessa soluzione di data in una precedente risposta: 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)

Potresti per favore fornire un contesto alla tua risposta. Anche se è chiaro, questo mostra una soluzione, alcune spiegazioni sul tuo approccio e perché sarebbe un buon metodo. Generalmente solo la pubblicazione di blocchi di codice è disapprovata in SO.
Entità singola,

4
Non credo sia necessaria alcuna spiegazione del perché SELECT @@version;, che mostra la versione, sarebbe un buon metodo per mostrare la versione. Il problema principale dell'IMO è che questa risposta è un duplicato delle risposte precedenti.
Matteo Leggi il

0

In Windows, apri il Prompt dei comandi e digita MySQL -Vo MySQL --version. Se usi Linux ottieni terminale e digitaMySQL -v


Presto ! non c'è bisogno di essere collegati al database :) grazie
pheromix

3
Questo è solo per il client MySQL, che può essere molto diverso dal server. Inoltre, il comando Linux dovrebbe essere in minuscolo.
mwfearnley,

-1

Ecco altri due metodi:

Linux: versione vista Mysql: da PHP

Da una funzione PHP, possiamo vedere la versione utilizzata:

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

Linux: versione vista Mysql: versione pacchetto

Per i sistemi operativi RedHat / CentOS:

rpm -qa | grep mysql

Per i sistemi operativi Debian / Ubuntu:

rpm -qa | grep mysql

Estratto da: https://www.sysadmit.com/2019/03/linux-mysql-ver-version.html


-1

Solo questo codice funziona per me

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

Ciò restituisce il numero di versione del client , non del server
Nico Haase,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.