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.