GNU/Linux >> Linux Esercitazione >  >> Linux

Come abilitare la registrazione delle query MySQL/MariaDB

In questa guida breve e facile da seguire, spieghiamo come abilitare la registrazione delle query MySQL/MariaDB e salvare le query in un file.

Quando si utilizza un database, capita spesso che gli sviluppatori vogliano sapere cosa sta succedendo dietro le quinte. Che sia per la risoluzione dei problemi, l'ottimizzazione delle prestazioni o per pura curiosità.

I log di query generali rimangono una delle fonti più popolari di informazioni di controllo e diagnostica nei database MySQL/MariaDB. Dopo aver abilitato la registrazione, il server del database scriverà le informazioni nel file di registro quando i client si connettono o si disconnettono e registrerà ogni istruzione SQL.

Tuttavia, tieni presente che l'abilitazione del registro delle query generali influisce sulle prestazioni di MySQL/MariaDB. Ciò ridurrà il throughput di circa il 13% e aumenterà il tempo di risposta dal server MySQL/MariaDB di circa il 17%.

Quindi, senza ulteriori indugi, iniziamo poiché il processo è piuttosto semplice.

Abilita la registrazione delle query generali MySQL/MariaDB

In MySQL/MariaDB il registro delle query generali è disabilitato per impostazione predefinita.

1. Accedi allo strumento della riga di comando del server MySQL/MariaDB come root:

mysql -u root -p

2. Imposta il percorso del file di registro generale su /var/logs/mysql/general-query.log eseguendo la query seguente.

SET GLOBAL general_log_file='/var/log/mysql/general-query.log';

Per impostazione predefinita, il registro delle query generali viene scritto nella stessa directory dei dati che contiene le stesse sottodirectory del database (in genere /var/lib/mysql ) e il nome del file di registro predefinito è il nome host. Tuttavia, come puoi vedere, questo può essere modificato.

3. Abilita il registro generale del server:

SET GLOBAL general_log = 1;

Controlliamo di nuovo lo stato del registro delle query generali di MySQL/MariaDB:

SHOW VARIABLES LIKE "general_log%";

Questo è tutto. Da qui in poi puoi fare qualcosa di simile a sudo tail -f su general-query.log file dalla riga di comando e tieni d'occhio le cose.

Una volta completata l'ispezione, puoi disabilitare la registrazione delle query MySQL/MariaDB come segue:

SET GLOBAL general_log = 0;

È certamente indesiderabile aver attivato la registrazione su un server di produzione. Quindi fai solo attenzione con questo, il file di registro può diventare grande abbastanza velocemente.

Se non desideri eseguire query direttamente, puoi comunque abilitare la registrazione delle query MySQL/MariaDB modificando direttamente il file di configurazione MySQL/MariaDB, ma tieni presente che questo approccio richiede il riavvio del server del database.

Conclusione

Il registro generale delle query MySQL/MariaDB può essere molto utile quando si sospetta un errore in un client e si desidera sapere esattamente cosa il client ha inviato al database. Quindi, se hai qualche bug o problema con il database, un modo per rintracciare il problema nell'accendere questo registro e controllare cosa sta succedendo.

Puoi leggere ulteriori informazioni sull'abilitazione del registro delle query MySQL/MariaDB generale qui e qui.


Linux
  1. Come fermare un processo all'interno di MySQL

  2. Dov'è il registro cron / crontab? / Come abilitare il Cron Log?

  3. Come abilitare il registro delle query di MySQL (vedi tutte le query SQL come arrivano)?

  4. Come importare il database di esportazione in MySQL MariaDB

  5. Come abilitare gli indici grandi in MariaDB 10 su Debian 10

Come esportare i risultati delle query MySQL in formato CSV in Linux

Come accedere come root in MySQL?

Come installare MySQL/MariaDB su Debian 11

Come modificare/reimpostare la password di root di MySQL o MariaDB

Come abilitare l'accesso esteso in Exim?

Come creare una configurazione Rsyslog di registrazione centralizzata