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.

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:
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 --versionInstallazione 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:
# 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 --versionVerifica dell'installazione
Dopo l'installazione, verifica che MySQL funzioni correttamente:
# 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 -pProtezione dell'installazione di MySQL
Esegui lo script di installazione sicura di MySQL:
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
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
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:
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 3306Backup e ripristino del database
Crea backup e ripristina:
# Backup
mysqldump -u root -p database_name > backup.sql
# Ripristino
mysql -u root -p database_name < backup.sqlMigliori 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