Come installare e mettere al sicuro MySQL su Ubuntu: Guida completa per l’installazione, la gestione utenti e la manutenzione

1. Scopo e Vantaggi dell’Installazione di MySQL su Ubuntu

Installando MySQL in un ambiente Ubuntu, è possibile gestire i dati per applicazioni aziendali e web in modo efficiente. MySQL è leggero, veloce e compatibile con molti sistemi, il che lo rende ampiamente usato da ingegneri e imprese. In questo articolo forniamo una guida completa che copre tutto, dall’installazione di MySQL alle operazioni di base, manutenzione e risoluzione dei problemi.

2. Preparazione dell’Ambiente Ubuntu

Prima di installare MySQL, assicurati che l’elenco dei pacchetti sul tuo sistema Ubuntu sia aggiornato. Questo riduce il rischio di errori durante l’installazione.

2-1. Aggiornare e Aggiornare i Pacchetti di Sistema

Esegui i seguenti comandi per aggiornare i pacchetti di sistema alle versioni più recenti:

sudo apt update
sudo apt upgrade

L’aggiornamento garantisce che i pacchetti esistenti siano compatibili con l’installazione di MySQL.

2-2. Verificare le Dipendenze

MySQL richiede diversi pacchetti dipendenti. Controllare le dipendenze in anticipo aiuta a evitare problemi di installazione. Se necessario, verifica e installa i pacchetti richiesti usando il comando qui sotto:

sudo apt install -f

3. Passaggi per l’Installazione di MySQL

Installa il pacchetto mysql-server per configurare MySQL su Ubuntu. Conferma che il servizio MySQL sia in esecuzione correttamente.

3-1. Installare MySQL

Esegui il comando qui sotto per scaricare e installare automaticamente MySQL:

sudo apt install mysql-server

3-2. Verificare il Servizio MySQL e Abilitare l’Avvio Automatico

Dopo l’installazione, controlla se il servizio MySQL è in esecuzione:

sudo systemctl status mysql

Se lo stato mostra active (running), l’installazione è avvenuta con successo. Per assicurarti che MySQL si avvii automaticamente all’avvio del sistema, esegui quanto segue:

sudo systemctl enable mysql

4. Configurazione Iniziale e Rafforzamento della Sicurezza

Dopo l’installazione, utilizza lo script mysql_secure_installation per migliorare le impostazioni di sicurezza di MySQL.

4-1. Eseguire mysql_secure_installation

Esegui il comando seguente per configurare le impostazioni di sicurezza:

sudo mysql_secure_installation

Lo script ti chiederà le seguenti impostazioni:

  • Policy password : Configura la complessità della password (bassa, media, alta) per aumentare la sicurezza.
  • Rimuovere gli utenti anonimi : Elimina l’utente anonimo predefinito.
  • Rimuovere i database di test : Elimina i database di test per ridurre i rischi di sicurezza.
  • Limitare l’accesso remoto : Disabilita il login remoto per l’utente root.

4-2. Impostazioni di Sicurezza Consigliate

In genere è consigliato inserire Y per ogni prompt. Imposta la policy password su medium o high e limita l’accesso remoto per migliorare ulteriormente la sicurezza.

5. Connessione a MySQL e Gestione Utenti

Connettiti a MySQL ed esegui la configurazione iniziale o le attività di gestione utenti.

5-1. Accedere alla Shell MySQL

Per operare MySQL come utente root, esegui il comando seguente:

sudo mysql

5-2. Cambiare il Metodo di Autenticazione (Opzionale)

A partire da MySQL 8.0, il metodo di autenticazione predefinito per l’utente root è auth_socket. Per consentire l’accesso da strumenti esterni come phpMyAdmin, cambia il metodo di autenticazione in mysql_native_password come segue:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'StrongPassword';
FLUSH PRIVILEGES;

6. Operazioni di Base su Database e Tabelle

Comprendere le operazioni di base di MySQL ti aiuta a gestire i database in modo più efficiente. Ecco i passaggi essenziali per creare database e tabelle.

6-1. Creare Database e Tabelle

Usa il comando seguente per creare un database:

CREATE DATABASE database_name;
USE database_name;

Successivamente, crea una tabella. Ad esempio, per gestire le informazioni degli utenti:

CREATE TABLE users (
  id INT AUTO_INCREMENT PRIMARY KEY,
  name VARCHAR(100),
  email VARCHAR(100)
);

6-2. Inserire e Visualizzare Dati

Usa i comandi qui sotto per inserire dati e visualizzare il contenuto della tabella:

INSERT INTO users (name, email) VALUES ('Taro Yamada', 'taro@example.com');
SELECT * FROM users;

7. Manutenzione Regolare e Backup

Il corretto funzionamento di MySQL richiede backup e manutenzione regolari.

7-1. Creare Backup

I backup regolari sono essenziali per la protezione dei dati. Utilizzare mysqldump come segue:

mysqldump -u root -p database_name > backup.sql

7-2. Ottimizzare le Prestazioni

Ottimizzare periodicamente le tabelle del database per mantenere le prestazioni:

OPTIMIZE TABLE table_name;

7-3. FAQ

  • Se compaiono opzioni aggiuntive durante mysql_secure_installation Per consentire l’accesso root senza applicare la “restrizione di accesso remoto”, configurare manualmente misure di sicurezza personalizzate.

8. Risoluzione dei Problemi e Risorse di Supporto

Se si verificano problemi durante l’uso di MySQL, utilizzare i seguenti metodi per diagnosticare e risolvere i problemi.

8-1. Verificare lo Stato del Servizio e Riavviare

Utilizzare i comandi seguenti per verificare il funzionamento del servizio MySQL o riavviarlo quando necessario:

sudo systemctl status mysql
sudo systemctl restart mysql

8-2. Controllare i Log degli Errori

La revisione dei log degli errori aiuta a identificare la causa dei problemi:

sudo cat /var/log/mysql/error.log

8-3. Risorse di Supporto

Fare riferimento alla documentazione ufficiale e ai forum della community. Il sito ufficiale di MySQL e i siti di domande e risposte come Stack Overflow contengono informazioni preziose per la risoluzione dei problemi.

9. Riepilogo

Questa guida ha coperto l’installazione di MySQL e le procedure di configurazione essenziali su Ubuntu. Configurando la sicurezza, eseguendo la manutenzione e gestendo correttamente i backup, è possibile utilizzare MySQL in modo efficiente e sicuro. Come prossimo passo, considerare l’automazione dei backup e l’ottimizzazione delle prestazioni delle query.