MySQL, che sta per My (nome della figlia del co-fondatore Michael Widenius) Structured Query Language, è un sistema di gestione di database relazionali open source. Questo RDBMS è supportato da Oracle e funziona su quasi tutte le piattaforme come Linux, UNIX e MS Windows. MySQL è solitamente la prima scelta per la pubblicazione online e le applicazioni basate sul Web. Facebook, YouTube e Twitter utilizzano tutti MySQL come RDBMS. MySQL fa parte del popolare stack LAMP:Linux, Apache, MySQL e Python/PHP/Perl.
In questo articolo descriviamo passo dopo passo come procedere:
- Installa l'ultima versione di MySQL disponibile nel repository di pacchetti apt
- Esegui lo script di sicurezza MySQL
- Configura l'utente root per accedere alla shell MySQL
- Verifica infine che MySQL sia in esecuzione
Abbiamo eseguito i comandi e le procedure menzionati in questo articolo su un sistema Ubuntu 20.04 LTS
Installazione MySQL e configurazione della sicurezza
In questa sezione descriviamo come installare MySQL dalla riga di comando di Ubuntu e configurare la sicurezza.
Puoi aprire la riga di comando di Ubuntu, il terminale, dalla barra di ricerca dell'utilità di avvio delle applicazioni o premendo Ctrl+Alt+T.
Fase 1:aggiorna l'indice del repository
Per installare l'ultima versione disponibile di un software dai repository Internet, l'indice del repository locale deve corrispondere. Esegui il seguente comando come sudo per aggiornare l'indice del tuo repository locale:
$ sudo apt-get update
Fase 2:installa il server MySQL con apt
Eseguire il comando seguente come sudo per installare MySQL dai repository APT.
$ sudo apt-get install mysql-server
Tieni presente che solo un utente autorizzato su Ubuntu può aggiungere, rimuovere e configurare software.
Il sistema potrebbe chiederti la password per sudo e offrirti anche un'opzione S/n per continuare l'installazione. Digitare Y e quindi premere Invio; MySQL verrà quindi installato sul tuo sistema. Tuttavia, il processo potrebbe richiedere del tempo a seconda della velocità di Internet.
Fase 3:verifica l'installazione (opzionale)
Puoi verificare la tua installazione di MySQL e anche controllare il numero di versione eseguendo il seguente comando nel tuo terminale:
$ mysql --version
Fase 4:esegui le configurazioni di sicurezza eseguendo lo script di sicurezza fornito
Ogni volta che installi una nuova copia di MySQL, ci sono alcune impostazioni predefinite che dovresti cambiare per aumentare la sicurezza della tua installazione di MySQL. Questi includono la rimozione di utenti di prova, database di prova e il permesso di accesso remoto da parte di un utente root.
Esegui il comando seguente come sudo per avviare lo script di sicurezza:
$ sudo mysql_secure_installation
Quando esegui questo comando, la prima cosa che ti verrà chiesto di fare è configurare il plug-in Convalida password. Ciò ti consente di impostare una password sicura per root, a seconda della forza della password che desideri scegliere. Digita Y per avviare il plug-in Convalida password e riceverai il seguente messaggio:
Inserisci il numero di tua scelta per la sicurezza della password e premi Invio. Il sistema ti chiederà quindi la nuova password di root. Digita la password e ridigila ai seguenti prompt.
Il sistema visualizzerà quindi la forza della password che hai fornito e ti chiederà anche se desideri continuare con la password.
Digita Y per Sì e premi Invio.
Il sistema ora ti chiederà una serie di domande, una alla volta, e potrai impostare la sicurezza del tuo sistema in base alle tue risposte a queste domande.
Serie di domande:
La prima domanda ti chiederà se desideri rimuovere gli utenti di test anonimi.
Premi y e il tasto Invio.
La seconda domanda ti chiederà se desideri impedire l'accesso come root da un sistema remoto. Normalmente questa dovrebbe essere la tua scelta, perché per un sistema sicuro, root dovrebbe essere autorizzato a connettersi solo da localhost.
Ti consigliamo quindi di inserire y.
La terza domanda chiede se si desidera rimuovere il database MySQL predefinito denominato "test" dal sistema e anche eliminare l'accesso ad esso.
Digita y per rimuovere questo database di test.
Affinché tutte le modifiche configurate sopra abbiano effetto, il sistema deve ricaricare le tabelle delle autorizzazioni. Inserisci y e tutte le modifiche alla sicurezza verranno applicate.
Configurazione root per usare la shell MySQL
Durante l'esecuzione dello script di sicurezza, è stata specificata una password per root. Tuttavia, questo utente non è autorizzato a connettersi a MySQL Shell con la stessa password. Puoi configurare root per utilizzare MySQL Shell modificando il suo metodo di autenticazione da "auth_socket" predefinito a "mysql_native_password".
Ecco come farlo:
Passaggio 1:avvia MySQL Shell
Innanzitutto, avvia la shell MySQL eseguendo il seguente comando come sudo:
$ sudo mysql
Questo avvierà la shell MySQL in modo da poter lavorare sul prompt di MySQL.
Fase 2:verifica il metodo di autenticazione per gli utenti MySQL
Al prompt di MySQL, inserisci il seguente comando, che ti permetterà di controllare il metodo di autenticazione/il plug-in attualmente utilizzato da tutti i tuoi account MySQL:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Nell'output sopra, puoi vedere che root utilizza il plug-in auth-socket per l'autenticazione per impostazione predefinita.
Fase 3:cambia il metodo di autenticazione per root
Il nostro obiettivo è che l'utente root si autentichi su MySQL con una password. Per fare ciò, esegui il comando seguente, che avrà l'utente root identificato da una mysql_native_password. Ricorda che questa password deve essere molto forte.
mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
D'ora in poi, il tuo utente root non avrà più la password che hai specificato durante l'esecuzione dello script di sicurezza fornito, ma la password complessa che hai specificato nel comando precedente.
Fase 4:ricarica le tabelle delle sovvenzioni
Ora è il momento di dire al server di utilizzare le nuove impostazioni di autorizzazione d'ora in poi. Esegui il comando seguente al prompt dei comandi di MySQL per ricaricare le tabelle di concessione e registrare le modifiche:
mysql> FLUSH PRIVILEGES;
Fase 5:ricontrolla il metodo di autenticazione per gli utenti MySQL
Ora, se ricontrolla il metodo di autenticazione per i tuoi account utente MySQL usando il seguente comando, vedrai che il tuo utente root sta usando il plugin mysql_native_password per l'autenticazione:
mysql> SELECT user,authentication_string,plugin,host FROM mysql.user;
Ora che il tuo utente root è configurato per connettersi alla shell MySQL con una password sicura, puoi uscire dalla shell con il comando exit come segue:
mysql> exit
Verifica se MySQL è in esecuzione
Per verificare se MySQL è in esecuzione sul tuo sistema o meno, puoi utilizzare uno dei seguenti metodi:
Metodo 1:controlla lo stato di mysql.service
Dopo aver installato MySQL sul tuo sistema, molto probabilmente mysql.service dovrebbe essere eseguito automaticamente. L'output del comando seguente dovrebbe verificare lo stato attivo del servizio:
$ systemctl status mysql.service
Se per qualche motivo il servizio non è in esecuzione, puoi utilizzare il seguente comando come sudo per avviare il servizio:
$ sudo systemctl start mysql
Se necessario, puoi utilizzare il comando seguente per interrompere nuovamente il servizio:
$ sudo systemctl stop mysql
Metodo 2:connettendoti a MySQL Admin come root ed eseguendo qualsiasi comando amministrativo
MySQL Admin è un client che consente di eseguire operazioni amministrative su MySQL. Ad esempio, eseguiamo uno dei comandi amministrativi su di esso per verificare se il sistema funziona correttamente e il nostro root è configurato per farlo.
$ sudo mysqladmin -p -u root version
Questo comando serve per connettersi a MySQL come root, ottenere la password di root e quindi restituire il numero di versione dell'amministratore MySQL.
Se il comando fa quello che dovrebbe fare e produce un output simile a quello sopra, puoi essere sicuro che il tuo MySQL è attivo e funzionante.
Il processo di installazione e configurazione di MySQL su Ubuntu può sembrare complicato per alcuni, specialmente quando si utilizza la riga di comando. Tuttavia, se segui attentamente i passaggi precedenti uno per uno, non avrai problemi ad avere un'installazione affidabile, sicura e stabile di MySQL in esecuzione sul tuo Ubuntu.