Installare MySQL su Debian consente di creare un'infrastruttura di database (DB) solida e flessibile, adatta a una vasta gamma di applicazioni e servizi. MySQL è noto per la sua scalabilità, affidabilità e stabilità. Una volta configurato, migliora l'efficienza operativa e le prestazioni complessive dell'infrastruttura dati.
Questa combinazione è particolarmente utile per amministratori, analisti di database e settori che richiedono una soluzione affidabile per gestire grandi quantità di dati. Inoltre, le guide dettagliate di MySQL e la sua community semplificano la risoluzione dei problemi e l'ottimizzazione delle operazioni.
In questa guida mostreremo il processo completo per installare e configurare MySQL su Debian.
I repository predefiniti di Debian non includono il pacchetto del server MySQL. Per installarlo su un sistema Linux, segui le istruzioni riportate di seguito. Scaricheremo la versione più recente di MySQL.
Ottieni il pacchetto delle informazioni del repository MySQL in formato .deb
:
wget https://dev.mysql.com/get/mysql-apt-config_0.8.30-1_all.deb
Nota: per verificare l'ultima versione disponibile, visita la pagina del repository MySQL.
Utilizza il file .deb
per avviare l'installazione con dpkg
:
sudo dpkg -i mysql-apt-config_0.8.30-1_all.deb
Rispondi alle richieste a schermo. Ad esempio, seleziona "MySQL Server & Cluster" e premi Invio per avviare la configurazione.
Per scegliere una versione come mysql-8.4-lts
, scorri verso il basso e conferma con OK.
Aggiorna gli indici dei pacchetti del sistema per applicare le nuove informazioni di MySQL:
sudo apt update
Il gestore di pacchetti predefinito di Debian semplifica l’installazione. Esegui il seguente comando:
sudo apt install mysql-server -y
Apparirà un'interfaccia che ti chiederà di impostare una password per l’utente root. Inserisci una password sicura e conferma.
Verifica la versione installata:
mysql --version
Abilita l'avvio automatico del servizio MySQL all'accensione:
sudo systemctl enable mysql
Avvia il servizio:
sudo systemctl start mysql
Controlla lo stato del servizio:
sudo systemctl status mysql
Prima di aprire la porta 3306
ai client, consulta la guida Creare un tunnel SSH per MySQL per imparare a proteggere l’accesso tramite SSH ed evitare di esporre MySQL direttamente su Internet.
La password impostata all'inizio protegge l'utente root del server. MySQL include anche alcune impostazioni predefinite poco sicure, come l’accesso remoto all’utente root e ai database di test.
Per proteggere MySQL dopo l’installazione, usa il seguente script:
sudo mysql_secure_installation
Per attivare la verifica delle password (VALIDATE PASSWORD
), digita Y
e premi Invio.
Segui poi queste configurazioni:
Imposta una password sicura per l’utente root e verifica che sia corretta. Configura anche la politica delle password del server. Ad esempio, digita 2
per accettare solo password complesse, quindi premi Invio. Se richiesto di cambiare la password root, digita N
per mantenere quella esistente oppure Y
per cambiarla.
Elimina gli utenti anonimi: per maggiore sicurezza, digita Y
e premi Invio.
Disabilita l’accesso remoto all’utente root: per evitare rischi, digita Y
e premi Invio.
Rimuovi il database di test: per eliminarlo, digita Y
e premi Invio.
Aggiorna le tabelle dei privilegi: premi Invio per applicare le modifiche.
Utilizza il client mysql
per stabilire la connessione e accedere alla console del server MySQL.
sudo mysql -u root -p
Inserisci la password root per accedere alla shell e iniziare a eseguire comandi SQL.
È buona prassi creare un database e un utente separato per le applicazioni, invece di usare root. Ecco i passaggi:
Per prima cosa, crea un database. Ad esempio, puoi creare uno chiamato hostmandb
con il comando:
CREATE DATABASE hostmandb;
Per verificare che hostmandb
sia stato creato correttamente, elenca tutti i database:
SHOW DATABASES;
Crea un nuovo utente con una password sicura. In questo esempio, l’utente è minhal
con la password Qwer@1234
. Sostituisci questi valori con i tuoi:
CREATE USER 'minhal'@'localhost' IDENTIFIED BY 'Qwer@1234';
Concedi all’utente pieno accesso al database hostmandb
:
GRANT ALL PRIVILEGES ON hostmandb.* TO 'minhal'@'localhost';
Per rendere effettive le modifiche, ricarica i privilegi:
FLUSH PRIVILEGES;
Chiudi la sessione della shell MySQL:
EXIT;
Per testare l’accesso al database hostmandb
, accedi come il nuovo utente minhal
:
sudo mysql -u minhal -p
Dopo aver inserito la password di minhal
, accederai alla console. Digita:
SHOW DATABASES;
Per accedere a MySQL da remoto, configura il server seguendo questi passaggi:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
bind-address
e modificala in:bind-address = 0.0.0.0
sudo systemctl restart mysql
sudo mysql -u root -p
GRANT ALL PRIVILEGES ON hostmandb.* TO 'minhal'@'localhost';
FLUSH PRIVILEGES;
EXIT;
Se il firewall è attivo, devi aprire la porta 3306
per il traffico MySQL:
sudo ufw allow mysql
sudo ufw enable
sudo ufw reload
Eseguire backup regolari è fondamentale per evitare la perdita di dati. Usa mysqldump
per creare copie di sicurezza:
Questo comando utilizza mysqldump
per creare una copia di backup del database hostmandb
in un file chiamato hostmandb_backup.sql
:
sudo mysqldump -u root -p hostmandb> hostmandb_backup.sql
Per creare un backup completo di tutti i database in un file chiamato all_databases_backup.sql
, utilizza il seguente comando con i privilegi di root:
sudo mysqldump -u root -p --all-databases > all_databases_backup.sql
Ora puoi ripristinare il database hostmandb
dal file di backup hostmandb_backup.sql
:
sudo mysql -u root -p hostmandb < hostmandb_backup.sql
A seconda del carico di lavoro e delle risorse del server, puoi modificare le impostazioni per ottenere prestazioni migliori.
Le cache per i dati e gli indici sono conservate nel buffer pool InnoDB. Aumentare le sue dimensioni può migliorare significativamente le prestazioni. Per farlo, modifica il file di configurazione di MySQL:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Aggiungi o modifica la seguente riga:
innodb_buffer_pool_size = 1G
La dimensione deve essere regolata in base alla quantità di memoria disponibile sul server.
La cache delle query memorizza i risultati delle interrogazioni SELECT
. Abilitarla può migliorare le prestazioni nel caso di query ripetitive. Per abilitarla, modifica il file .cnf
:
sudo nano /etc/mysql/mysql.conf.d/mysqld.cnf
Aggiungi o modifica le seguenti righe:
query_cache_type = 1
query_cache_size = 64M
Ottimizza regolarmente la tabella customers
del database hostmandb
per recuperare spazio inutilizzato e migliorare l’efficienza:
USE hostmandb;
OPTIMIZE TABLE customers;
Le operazioni del database possono essere monitorate e analizzate con strumenti come MySQL Workbench o mysqltuner
. Per installare mysqltuner
, usa il comando:
sudo apt install mysqltuner
Esegui mysqltuner
per ricevere suggerimenti di ottimizzazione:
sudo mysqltuner
Configurare un ambiente MySQL è essenziale nel mondo digitale odierno. Seguendo questa guida potrai installare e collegarti al tuo database MySQL in modo sicuro. Questa strategia non solo migliora la sicurezza ma facilita anche la gestione remota.
L'articolo fornisce istruzioni dettagliate per installare l'ambiente MySQL su Debian. È consigliabile monitorare e ottimizzare regolarmente i server MySQL per mantenere prestazioni e affidabilità elevate.
Inoltre, Hostman offre database cloud preconfigurati e pronti all’uso, incluso MySQL nel cloud.