Torna al blog
Gennaio 13, 2026Guide

Come configurare il database MySQL su un server Linux

Guida completa sull'installazione, la protezione e la gestione del server database MySQL su Ubuntu e CentOS.

Come configurare il database MySQL su un server Linux

MySQL è uno dei sistemi di gestione di database relazionali open source più popolari. Questa guida ti aiuterà a installare, proteggere e configurare MySQL sul tuo server Linux Hiddence.

Installazione di MySQL

MySQL 8.0 è l'attuale versione stabile a partire dal 2026. Il processo di installazione varia leggermente tra Ubuntu/Debian e le distribuzioni basate su RHEL. Tratteremo entrambi i metodi di seguito.

Installazione di MySQL su Ubuntu/Debian

Per Ubuntu 22.04 LTS e versioni successive, MySQL 8.0 è disponibile nei repository predefiniti. Installalo usando apt:

bash
sudo apt update
sudo apt install mysql-server -y
sudo systemctl start mysql
sudo systemctl enable mysql

# Verifica l'installazione
sudo systemctl status mysql
mysql --version

Installazione di MySQL su RHEL / CentOS / AlmaLinux / Rocky Linux

Per le distribuzioni basate su RHEL, devi prima aggiungere il repository MySQL. MySQL 8.0 è consigliato per l'uso in produzione:

bash
# Scarica il pacchetto del repository MySQL
sudo wget https://dev.mysql.com/get/mysql80-community-release-el9-1.noarch.rpm

# Installa il repository
sudo rpm -ivh mysql80-community-release-el9-1.noarch.rpm

# Per CentOS 8/Rocky Linux 8/AlmaLinux 8, usa:
# sudo wget https://dev.mysql.com/get/mysql80-community-release-el8-7.noarch.rpm

# Installa MySQL
sudo yum install mysql-server -y

# Avvia e abilita MySQL
sudo systemctl start mysqld
sudo systemctl enable mysqld

# Verifica l'installazione
sudo systemctl status mysqld
mysql --version

Verifica dell'installazione

Dopo l'installazione, verifica che MySQL funzioni correttamente:

bash
# Controlla lo stato del servizio
sudo systemctl status mysql  # Ubuntu/Debian
sudo systemctl status mysqld  # RHEL / CentOS

# Controlla la versione di MySQL
mysql --version

# Test della connessione (verrà richiesta la password di root)
sudo mysql -u root -p

Protezione dell'installazione di MySQL

Esegui lo script di installazione sicura di MySQL:

bash
sudo mysql_secure_installation
# Segui le istruzioni per impostare la password di root, rimuovere gli utenti anonimi, disabilitare l'accesso root remoto, ecc.

Creazione di database e utente

bash
sudo mysql -u root -p
CREATE DATABASE myapp_db;
CREATE USER 'app_user'@'localhost' IDENTIFIED BY 'strong_password';
GRANT ALL PRIVILEGES ON myapp_db.* TO 'app_user'@'localhost';
FLUSH PRIVILEGES;
EXIT;

Gestione degli utenti

bash
sudo mysql -u root -p
# Crea utente
CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

# Concedi privilegi
GRANT ALL PRIVILEGES ON database_name.* TO 'newuser'@'localhost';

# Revoca privilegi
REVOKE ALL PRIVILEGES ON database_name.* FROM 'newuser'@'localhost';

# Elimina utente
DROP USER 'newuser'@'localhost';

Abilitazione dell'accesso remoto (opzionale)

Per consentire connessioni remote, modifica bind-address:

bash
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
# Cambia bind-address = 127.0.0.1 in bind-address = 0.0.0.0
sudo systemctl restart mysql
# Configura anche il firewall per consentire la porta 3306

Backup e ripristino del database

Crea backup e ripristina:

bash
# Backup
mysqldump -u root -p database_name > backup.sql

# Ripristino
mysql -u root -p database_name < backup.sql

Migliori pratiche

  • Usa password complesse per gli utenti del database
  • Concedi solo i privilegi necessari agli utenti
  • Esegui regolarmente il backup dei tuoi database
  • Mantieni MySQL aggiornato per le patch di sicurezza
  • Monitora le prestazioni del database e ottimizza le query