I file di log di MariaDB: come funziona il sistema di log
I file di log di MariaDB offrono funzionalità avanzate per il monitoraggio e l’ottimizzazione delle istanze del database. In questa guida ti presentiamo i principali tipi di log disponibili, come configurarli e come attivarli.
Quali sono i file di log disponibili in MariaDB?
MariaDB include quattro principali tipi di log, ognuno dei quali registra un aspetto diverso del funzionamento del database:
Error log
L’error log, o registro degli errori, documenta eventi critici come l’avvio e l’arresto del server, arresti anomali o altri problemi gravi. È attivo per impostazione predefinita ed è utile per diagnosticare malfunzionamenti del server.
General query log
Il registro generale delle query memorizza tutte le connessioni al server e ogni comando SQL eseguito. È indicato per individuare errori e monitorare le attività dell’utente.
Binary log
Il log binario traccia tutte le modifiche apportate al database, comprese le operazioni sui dati e le modifiche alla struttura. È fondamentale per la replica e per i ripristini point-in-time.
Slow query log
Il log delle query lente elenca le query SQL che superano un certo tempo di esecuzione. È un valido aiuto per identificare i colli di bottiglia nelle prestazioni e ottimizzare le query lente.
- vCPU estremamente vantaggiose e potenti core dedicati
- Massima flessibilità senza periodo contrattuale minimo
- Servizio di assistenza tecnica 24 ore su 24, 7 giorni su 7
Come configurare e usare i registri di MariaDB: guida completa
Ora ti mostriamo come attivare, configurare e consultare file di log: error log, general query log, binary log e slow query log, con indicazione della posizione dei file.
Requisiti
- Un server con una versione aggiornata di Ubuntu o altra distribuzione Linux
- Un account utente con permessi sudo
- Nessuna installazione parallela di MySQL, per evitare conflitti di configurazione
- Conoscenze di base in SQL
Primo passaggio: visualizzare e configurare il registro degli errori
Per prima cosa devi assicurarti che MariaDB sia installato. Per farlo, esegui il seguente comando:
sudo apt update
sudo apt install mariadb-serverbashQuesto comando aggiorna prima l’elenco dei pacchetti del sistema e poi installa il server MariaDB.
Per collegarti al database MariaDB, esegui il seguente comando:
sudo mariadbbashSi apre così la console SQL con privilegi amministrativi.
Nel prossimo passaggio occorre controllare dove MariaDB scrive i messaggi di errore. A tale scopo si utilizza l’istruzione SQL:
SHOW VARIABLES LIKE '%log_error%';sqlSe il valore di log_error è vuoto, i messaggi di errore vengono scritti nel registro di sistema (syslog).
Per visualizzare questo registro, utilizza il seguente comando:
journalctl -u mariadb.servicebashQuesto fornisce un elenco cronologico dei messaggi di sistema generati dal servizio MariaDB. È utile per indagare su errori di avvio o altri eventi critici.
Se desideri utilizzare un file di log degli errori personalizzato, è necessario modificare il file di configurazione di MariaDB. È possibile aprirlo con un editor di testo come nano:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfbashCerca la sezione [mysqld] e aggiungi la seguente riga o rimuovi il commento:
log_error = /var/log/mariadb/error.logtxtOra è necessario assicurarsi che la directory specificata esista e disponga dei permessi di accesso corretti. A tal fine, esegui i seguenti comandi:
sudo mkdir /var/log/mariadb
sudo chown mysql:mysql /var/log/mariadbbashI comandi creano la directory e la impostano sull’utente e sul gruppo mysql, in modo che la funzione di registrazione di MariaDB possa scrivere al suo interno.
Riavvia quindi il servizio MariaDB affinché le modifiche alla configurazione abbiano effetto:
sudo systemctl restart mariadbbashInfine, puoi visualizzare il registro degli errori:
sudo cat /var/log/mariadb/error.logbashQui trovi informazioni sugli orari di avvio, avvisi o problemi relativi ai plugin.
Secondo passaggio: attivare il general query log
Per verificare lo stato attuale, apri la console SQL e inserisci il seguente comando:
SHOW VARIABLES LIKE '%general%';sqlQui puoi vedere se il registro delle query generali (general query log) è attivo (general_log = ON) e dove è salvato (general_log_file).
Per attivare in modo permanente questi registri, modifica nuovamente il file di configurazione:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfbashAggiungi le seguenti righe nella sezione [mysqld]:
general_log = 1
general_log_file = /var/log/mariadb/general-query.loginiQuindi riavvia il servizio:
sudo systemctl restart mariadbbashConsulta il registro con:
sudo cat /var/log/mariadb/general-query.logbashQui trovi tutte le query e le connessioni, con relative marche temporali. In questo modo puoi determinare quando sono state inviate le singole richieste.
Terzo passaggio: attivare il binary log
Per configurare il log binario, apri lo stesso file di configurazione utilizzato in precedenza:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfbashAggiungi i seguenti parametri nella sezione [mysqld]:
log_bin = /var/log/mariadb/binary.log
server_id = 1
binlog_format = ROWtxtIl server_id è importante per la replica (ogni server necessita di un ID univoco). Con binlog_format = ROW, ogni modifica dei dati a livello di riga viene registrata nei log MariaDB.
Riavvia il server:
sudo systemctl restart mariadbbashPer verificare se il log binario (binary log) è attivo, inserisci nella console SQL:
SHOW BINARY LOGS;sqlQui vengono visualizzati i file di log binari attivi con il nome del file e le dimensioni.
Per leggere il contenuto di un file, utilizza il seguente comando:
sudo mysqlbinlog /var/log/mariadb/binary.000001bashQui sono elencati in ordine cronologico tutti i comandi SQL di modifica.
Quarto passaggio: registrare le query lente (slow query log)
Modifica ancora il file di configurazione:
sudo nano /etc/mysql/mariadb.conf.d/50-server.cnfbashAggiungi quanto segue:
slow_query_log = 1
slow_query_log_file = /var/log/mariadb/slow-query.log
long_query_time = 10txtIn questo caso, “long_query_time = 10” significa che tutte le query che richiedono più di dieci secondi vengono registrate.
Riavvia MariaDB:
sudo systemctl restart mariadbbashControlla che il registro sia attivo:
SHOW VARIABLES LIKE '%slow_query_log%';sqlEsegui una query di prova volutamente lenta:
SELECT SLEEP(12);sqlQuesto comando forza il server ad attendere dodici secondi. Dopodiché, dovrebbe comparire nel log delle query lente.
Infine, è possibile visualizzare il registro:
sudo cat /var/log/mariadb/slow-query.logbashAl suo interno trovi informazioni su tempi di esecuzione, query coinvolte e marche temporali.
Se desideri approfondire l’argomento, consulta la nostra guida sull’analisi dei file di log.
- Partner IONOS Cloud
- Soluzioni flessibili e su misura
- Data center situati in Europa

