Installare MySQL in Ubuntu 20.04

MySQL è uno dei più popolari database open source. È particolarmente apprezzato per quanto riguarda prestazioni, affidabilità e scalabilità ed è utilizzato in molti settori, dai piccoli sistemi di web hosting alle grandi applicazioni aziendali. Qui ti guideremo durante ogni fase del processo di installazione di MySQL su Ubuntu 20.04, così che tu riesca a configurare un sistema di gestione di database affidabile e sicuro.

Quali sono i requisiti di MySQL su Ubuntu 20.04?

Nell’insieme, i requisiti di sistema per installare MySQL su Ubuntu 20.04 sono relativamente limitati e dovrebbero poter essere soddisfatti dalla maggior parte dei moderni sistemi desktop e server. Occorre tuttavia considerare che i requisiti possono variare a seconda dell’uso che se ne intende fare e delle dimensioni del database. Se ad esempio hai intenzione di eseguire un’applicazione ad alta intensità che prevede l’uso di grandi database o di query complesse, saranno necessari requisiti di RAM e processore più elevati, in grado di garantire prestazioni migliori. Un disco rigido capiente consente di soddisfare le esigenze di una crescita futura e di ulteriori database.

Per garantire una comunicazione fluida tra il server MySQL e i client, è opportuno controllare attentamente anche la configurazione della rete e le impostazioni del firewall. Per evitare problemi di connessione, il server MySQL dovrebbe avere un indirizzo IP statico.

MySQL ha i seguenti requisiti minimi di hardware e software:

  • Processore (CPU): architettura x86-64, min. 1 GHz (Dual-Core)
  • Memoria ad accesso casuale (RAM): min. 1 GB
  • Sistema operativo: Ubuntu 20.04, utente sudo con autorizzazioni root
  • Firewall: porta 3306 MySQL aperta
  • Disco rigido: min. 500 MB
  • Connessione internet: per scaricare i pacchetti e stabilire la connessione al server MySQL

Server dedicati di IONOS

L’hardware incontra il cloud: server dedicato con cloud integrato e fatturazione al minuto. Consulente personale incluso!

Supporto 24/7
Traffico illimitato
Certificato SSL

Configurare MySQL su Ubuntu 20.04: istruzioni dettagliate

Per installare MySQL su Ubuntu 20.04 è possibile utilizzare il sistema di gestione dei pacchetti APT (Advanced Package Tool). Una volta terminata l’installazione, sarà necessario impostare e configurare MySQL prima di poterlo utilizzare proficuamente. A tal proposito, occorre anche impostare la password di root e l’accesso per i client esterni. Nel nostro tutorial ti mostreremo come procedere passo dopo passo.

Primo passaggio: aggiornare l’indice del pacchetto

Per prima cosa, sarebbe opportuno aggiornare l’elenco dei pacchetti. Per farlo, basta eseguire il seguente comando:

$ sudo apt update
bash

Secondo passaggio: installare il server MySQL

A questo punto, installa il pacchetto del server MySQL tramite APT:

$ sudo apt install mysql-server
bash

Il server può essere avviato manualmente con il comando systemctl per verificare che sia davvero in funzione:

$ sudo systemctl start mysql.service
bash

Terzo passaggio: configurare MySQL

Al termine dell’installazione, MySQL non è ancora conforme agli standard di sicurezza raccomandati. Per ovviare a questo problema, MySQL offre uno script che modifica le impostazioni per proteggere il server. Questo script si occupa, ad esempio, di impostare la password di root, rimuovere eventuali utenti anonimi e limitare l’accesso remoto.

Per eseguire correttamente lo script, tuttavia, è necessario prendere alcune precauzioni. Questo perché l’applicazione vorrà cambiare la password dell’account di root, che è disabilitata per impostazione predefinita in Ubuntu. Per aggirare l’errore, occorre modificare il metodo di autenticazione dell’utente root.

Avvia il prompt di MySQL:

$ sudo mysql
bash

Con l’istruzione ALTER USER imposti una password per root:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Ora chiudi nuovamente il prompt di MySQL:

mysql> exit
bash

Esegui lo script di sicurezza:

$ sudo mysql_secure_installation
bash

Per autenticarti come utente root, immetti quanto segue:

$ mysql -u root -p
bash

Terminato lo script, puoi cambiare di nuovo il metodo di autenticazione predefinito:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
bash

In questo modo sarai in grado di connetterti nuovamente mediante il comando sudo mysql.

Quarto passaggio: creazione dell’utente MySQL

Con l’installazione di MySQL viene creata la figura dell’utente root, che ha tutti i privilegi per il server MySQL e il controllo completo su tutti i database, le tabelle e le utenze. Al fine di aumentare la sicurezza, è quindi opportuno creare l’utente con privilegi limitati.

Per farlo, apri il prompt di MySQL:

$ sudo mysql
bash

Se come metodo di autenticazione è stata impostata una password, utilizza il seguente comando:

$ mysql -u root -p
bash

Ora crea una nuova utenza per MySQL:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH authentication_plugin BY 'password';
bash

Al posto di “username” inserisci il tuo nome utente e al posto di “host” inserisci il nome del tuo host. Se stai eseguendo Ubuntu in locale, scrivi localhost. La dicitura “WITH authentication_plugin” è facoltativa. Il plugin “auth_socket” dispone di impostazioni di sicurezza abbastanza forti da non richiedere una password per l’accesso.

In assenza di ulteriori specifiche, MySQL si avvale del plugin “caching_sha2_password” per l’autenticazione. Alcune versioni di PHP, tuttavia, non sono compatibili con questo plugin. Puoi sempre ricorrere al vecchio ma collaudato plugin “mysql_native_password”:

mysql> CREATE USER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

In alternativa, è possibile utilizzare la funzione “ALTER” per utenti già esistenti:

mysql> ALTER 'username'@'host' IDENTIFIED WITH mysql_native_password BY 'password';
bash

Quinto passaggio: assegnare i permessi

Adesso è necessario stabilire quali privilegi assegnare all’utente appena creato. La sintassi generale è la seguente:

mysql> GRANT PRIVILEGE ON database.table TO 'username'@'host';
bash

I privilegi multipli sono separati da una virgola. Per applicare i privilegi globali, sostituisci “database.table” con un asterisco (“*“).

Nell’esempio seguente, diamo all’utente le autorizzazioni per creare (CREATE), modificare (ALTER), cancellare (DROP), inserire (INSERT), selezionare (SELECT), aggiornare (UPDATE) e rimuovere (DELETE) i dati di una tabella.

mysql> GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT on *.* TO 'user'@'host' WITH GRANT OPTION;
bash

Utilizzando “WITH GRANT OPTION”, l’utente può anche concedere i propri permessi ad altri.

Svuota ora la cache con “FLUSH PRIVILEGES”:

mysql> FLUSH PRIVILEGES;
bash

A questo punto è possibile chiudere il prompt di MySQL:

mysql> exit
bash

Effettua il login con il nuovo nome utente:

$ mysql -u username -p
bash

Sesto passaggio: testare MySQL

Verifica che MySQL sia in esecuzione correttamente, ad esempio attraverso il gestore di sistema Systemd:

$ systemctl status mysql.service
bash

In alternativa, puoi effettuare la connessione al database MySQL. Usa il seguente comando per accedere a MySQL e visualizzare la versione del server:

$ sudo mysqladmin -p -u username version
bash
Per offrirti una migliore esperienza di navigazione online questo sito web usa dei cookie, propri e di terze parti. Continuando a navigare sul sito acconsenti all’utilizzo dei cookie. Scopri di più sull’uso dei cookie e sulla possibilità di modificarne le impostazioni o negare il consenso.