Introduzione

MySQL (e la sua sostituzione drop-in MariaDB) è il sistema di gestione di database relazionali open source più popolare. Ci sono alcune differenze importanti tra le versioni di MySQL, quindi sapere in quali situazioni è in esecuzione sul tuo server potrebbe essere importante in alcune situazioni.

Ad esempio, se stai installando un'applicazione che richiede una versione specifica di MySQL prima di iniziare l'installazione, dovrai scoprire la versione del tuo server MySQL.

In questo articolo, ti mostreremo come verificare la versione del server MySQL o MariaDB installato sul tuo sistema.

Dalla riga di comando

Se hai accesso SSH al server, ci sono diversi comandi che possono aiutarti a determinare la versione di MySQL.

Il binario del server MySQL è chiamato mysqld. Per ottenere la versione del server, eseguire il file binario utilizzando l' opzione --version oppure -v:

mysqld --version

Il comando genererà informazioni sulla versione di MySQL e uscirà. In questo esempio la versione del server MySQL è 5.7.27:

mysqld  Ver 5.7.27-0ubuntu0.18.04.1 for Linux on x86_64 ((Ubuntu))

Se il server MySQL richiede l'autenticazione, dovrai utilizzare sudo mysql o mysql -u username -p.

mysqladmin è un'utilità client che viene utilizzata per eseguire operazioni amministrative sui server MySQL. Può anche essere usato per interrogare la versione di MySQL:

mysqladmin -V

L'output sarà leggermente diverso dal comando precedente:

mysqladmin  Ver 8.42 Distrib 5.7.27, for Linux on x86_64

Da MySQL Shell

Un'utilità client di comando come mysql, ad esempio, può anche essere utilizzata per determinare la versione del server MySQL.

Per connettersi al server MySQL è sufficiente digitare mysql:

mysql

Una volta connesso alla shell MySQL, la versione verrà stampata sullo schermo:

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.27-0ubuntu0.18.04.1 (Ubuntu)

Per ottenere le informazioni sulla versione di MySQL e altri componenti, eseguire una query con la variabile version:

SHOW VARIABLES LIKE "%version%";
+-------------------------+-------------------------+
| Variable_name           | Value                   |
+-------------------------+-------------------------+
| innodb_version          | 5.7.27                  |
| protocol_version        | 10                      |
| slave_type_conversions  |                         |
| tls_version             | TLSv1,TLSv1.1           |
| version                 | 5.7.27-0ubuntu0.18.04.1 |
| version_comment         | (Ubuntu)                |
| version_compile_machine | x86_64                  |
| version_compile_os      | Linux                   |
+-------------------------+-------------------------+
8 rows in set (0.02 sec)

Ci sono anche altre istruzioni e comandi che possono mostrare la versione del server. SELECT VERSION() L'istruzione visualizzerà solo la versione di MySQL.

SELECT VERSION();

Il comando STATUS mostra la versione di MySQL e le informazioni sullo stato del server:

STATUS;

Utilizzando PHP

Se utilizzi un hosting condiviso e non hai accesso alla riga di comando o a un client MySQL come PhpMyAdmin, puoi determinare la versione del server MySQL tramite PHP.

Nella directory principale (root) del tuo sito web carica il seguente file PHP usando un client FTP o SFTP . Assicurati di cambiare e user_name e mia_password con un account utente MySQL effettivo.

Creare il file mysql-version.php:

sudo nano mysql-version.php

Incollare il seguente codice, modificando username e password:

<?php

// Create a database connection.
$link = mysqli_connect("localhost", "my_user", "my_password");

// Print the MySQL version.
echo mysqli_get_server_info($link);

// Close the connection.
mysqli_close($link);

Apri il file nel tuo browser e la versione del server MySQL verrà visualizzata sullo schermo:

5.7.27-0ubuntu0.18.04.1

Conclusione

Determinare la versione del server MySQL è un compito relativamente semplice. In questa guida, abbiamo mostrato diverse opzioni su come trovare la versione di MySQL in esecuzione sul tuo sistema.