MySQL è uno dei più comuni sistemi di gestione di database relazionali open source (RDBMS), basato sullo Structured Query Language (SQL), un linguaggio di programmazione utilizzato per gestire i dati contenuti in un database.
È veloce, semplice da usare anche per i neofiti che entrano nello sviluppo di back-end e si integra in vari pacchetti di stack come Xampp, Lampp e Wamp.
In questo particolare post, ti mostreremo come installare il server MySQL nel tuo sistema Ubuntu. Ulteriori informazioni includono la configurazione delle opzioni di sicurezza, la regolazione dei metodi di autenticazione e la creazione di un nuovo utente. La nostra versione di Ubuntu preferita in questo tutorial è Ubuntu 20.04 LTS, che è l'ultima versione al momento della stesura di questo articolo.
Installazione di MySQL su Ubuntu
Requisiti
Dovrai disporre di privilegi elevati (root) sul tuo sistema. Puoi farlo eseguendo il comando seguente.
sudo su
Procedura
Al momento della stesura di questo post, l'attuale versione di MySQL Linux è la versione 5.7. Per iniziare con l'installazione, procedi nel seguente modo:
Passaggio 1) Assicurati che tutti i pacchetti e i repository nel tuo sistema siano aggiornati. Puoi farlo eseguendo il comando seguente:
sudo apt update
Passaggio 2) Ora installeremo MySQL tramite il gestore di pacchetti apt. Esegui il comando seguente.
sudo apt install mysql-server
Passaggio 3) Dopo una corretta installazione, il servizio mysql dovrebbe avviarsi automaticamente. Puoi confermarlo eseguendo il comando seguente:
sudo systemctl status mysql
Dovresti ottenere un output simile a quello nell'immagine qui sotto.
In ogni caso che il servizio non sia in esecuzione, eseguire il comando seguente:
sudo /etc/init.d/mysql start
Verifica l'installazione di MySQL (opzionale)
Puoi verificare la tua installazione eseguendo il comando seguente, che produrrà la versione e la distribuzione di MySQL installate nel tuo sistema.
mysql --version
Proteggi il tuo server MySQL
Ora che il server MySQL è stato installato correttamente, devi impostare alcuni parametri per garantire la sicurezza del server e dei database che configurerai in futuro.
In altri casi, al termine dell'installazione del pacchetto MySQL Server, l'utilità mysql-secure-installation verrà avviata automaticamente. Tuttavia, se questo non è il tuo caso, esegui il comando seguente:
sudo mysql_secure_installation
Verrà visualizzato un messaggio che ti chiede se CONVALIDA IL PLUGIN DELLA PASSWORD. Migliora la sicurezza del server MySQL controllando la forza delle password utente consentendo agli utenti di impostare solo password complesse. Premi Y per accettare CONVALIDA o il tasto INVIO per saltare.
Successivamente, dovresti vedere una richiesta per impostare la password di root. Inserisci la tua password e premi invio. Nota, per motivi di sicurezza, tutto ciò che scrivi nella console non viene visualizzato.
Successivamente, dovresti vedere una richiesta che ti chiede se rimuovere tutti gli utenti anonimi, inserisci Y per SÌ. Per qualsiasi altra richiesta da qui, inserisci Y per SÌ.
Accedi come root e modifica l'autenticazione utente
Il server MySQL viene fornito con un'utilità lato client che consente di accedere e interagire con il database dal terminale Linux.
In genere, dopo una nuova installazione di MySQL su Ubuntu senza eseguire alcuna configurazione, gli utenti che accedono al server vengono autenticati utilizzando il plug-in del socket di autenticazione (auth_socket).
L'uso di auth_socket impedisce al server di autenticare un utente utilizzando una password. Non solo solleva problemi di sicurezza, ma impedisce anche agli utenti di accedere al database utilizzando programmi esterni come phpMyAdmin. Dobbiamo cambiare il metodo di autenticazione da auth_socket all'uso di mysql_native_password.
Per fare ciò, dovremo aprire la console MySQL. Esegui il seguente comando sul terminale Linux.
sudo mysql
Ora dobbiamo verificare il metodo di autenticazione utilizzato dal database su utenti diversi. Puoi farlo eseguendo il comando qui sotto.
SELECT user,authentication_string,plugin,host FROM mysql.user;
Dall'immagine sopra, possiamo confermare che l'utente root è effettivamente autenticato utilizzando il plug-in auth_socket. Dobbiamo passare all'uso di "autenticazione con password" utilizzando il comando "ALTER USER" di seguito. Assicurati di utilizzare una password sicura (dovrebbe essere composta da più di otto caratteri che combinano numeri, stringhe e simboli speciali) poiché sostituirà la password impostata durante l'esecuzione del comando "sudo mysql_secure_installation" sopra. Esegui il comando seguente.
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'your_password';
Nota, il testo evidenziato nell'immagine sopra è dove inserirai la tua password sicura. Racchiudilo tra singoli tag. Ora, dobbiamo ricaricare le tabelle di concessione e aggiornare le modifiche al server MySQL. Fallo eseguendo il comando seguente.
FLUSH PRIVILEGES;
Una volta fatto, dobbiamo confermare che l'uso root non utilizza più auth_socket per l'autenticazione. Fallo eseguendo di nuovo il comando seguente.
SELECT user,authentication_string,plugin,host FROM mysql.user;
Dall'immagine sopra, vediamo che il metodo di autenticazione root è cambiato da "auth_socket" a "password".
Dato che abbiamo cambiato il metodo di autenticazione per root, non possiamo usare lo stesso comando che usavamo prima per aprire la console MySQL. Cioè, "sudo mysql". Dovremo includere i parametri nome utente e password, come mostrato di seguito.
mysql -u root -p
La "-u" indica l'utente, che è "root" per il nostro caso e "-p" sta per "password", che il server ti chiederà di inserire una volta premuto il tasto Invio.
Creazione di un nuovo utente
Una volta che tutto è impostato, puoi creare un nuovo utente a cui concederai i privilegi appropriati. Nel nostro caso qui, creeremo un utente "tuts_fosslinux" e assegneremo i diritti su tutte le tabelle del database e il permesso di modificare, rimuovere e aggiungere privilegi utente. Esegui i comandi sotto riga per riga.
CREATE USER 'tuts_fosslinux'@'localhost' IDENTIFIED BY 'strong_password'; GRANT ALL PRIVILEGES ON *.* TO 'tuts_fosslinux'@'localhost' WITH GRANT OPTION;
Il primo comando creerà il nuovo utente e il secondo assegna i privilegi necessari.
Ora possiamo testare il nostro nuovo utente eseguendo il comando seguente.
mysql -u tuts_fosslinux -p
Installa MySQL-Server sul server Ubuntu
L'installazione del server MySQL sul server Ubuntu non è molto diverso dai passaggi descritti sopra. Tuttavia, poiché a un server si accede in remoto, dobbiamo anche abilitare l'accesso remoto per il nostro server.
Per installare il database e configurare le opzioni di sicurezza, è sufficiente eseguire i seguenti comandi riga per riga sul Terminale.
sudo apt update sudo apt install mysql-server sudo mysql_secure_installation
Dopo una corretta installazione, dovremo abilitare l'accesso remoto. Logicamente, tutto ciò che dobbiamo fare è aprire una porta sul firewall del server Ubuntu affinché il server MySQL possa comunicare. Per impostazione predefinita, il servizio MySQL viene eseguito sulla porta 3306. Esegui i comandi seguenti.
sudo ufw enable
sudo ufw allow mysql
Per migliorare l'affidabilità e l'accessibilità dei nostri database MySQL, possiamo configurare il servizio del server MySQL in modo che inizi a funzionare all'avvio. Per farlo, esegui il comando seguente.
sudo systemctl enable mysql
Ora dovremo configurare le interfacce del nostro server. Consentirà al server di ascoltare le interfacce accessibili in remoto. Dovremo modificare il file "mysqld.cnf". Esegui i comandi seguenti.
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Per impostazione predefinita, l'indirizzo di collegamento è "127.0.0.1". Aggiungi l'indirizzo di collegamento per l'interfaccia di rete pubblica e un altro per l'interfaccia di rete di servizio. Puoi configurare il tuo indirizzo di collegamento come "0.0.0.0" per tutti gli indirizzi IP.
Conclusione
Spero che questo tutorial sulla configurazione del server MySQL sul tuo sistema Ubuntu ti sia piaciuto. Se hai appena iniziato con MySQL e tutto ciò di cui hai bisogno è creare un database e un utente semplici, i passaggi sopra indicati dovrebbero essere di grande aiuto. Se trovi questo articolo pieno di risorse, sentiti libero di condividere il link con un amico.