Il plugin SQL_ERROR_LOG

MariaDB starting with 5.5.22

Questo plugin è stato introdotto in MariaDB 5.5.22

Talvolta risulta utile registrare in un file di log gli errori restituiti ai client, per poterli analizzare successivamente. Il plugin SQL_ERROR_LOG, aggiunto in MariaDB 5.5, serve proprio a questo. E' implementato come MYSQL_AUDIT_PLUGIN, pertanto una volta installato questo plugin riceve le notifiche degli errori dal server e le registra nel file specificato. Supporta la rotazione dei file d log.

Ecco il comando tipico per abilitare il plugin per il log degli errori SQL:

	install plugin SQL_ERROR_LOG soname 'sql_errlog.so';

Oppure si può aggiungere --plugin-load=sql_errlog.so alla riga di comando del server, o alla sezione [mysqld] del file my.cnf utilizzato.

Per disabilitarlo:

	uninstall plugin SQL_ERROR_LOG;

Il plugin SQL_ERROR_LOG dichiara 5 variabili, che ne influenzano il comportamento:

  • @sql_error_log_filename - valore stringa. Il nome del file di log.
    La rotazione produrrà file con nomi come @sql_error_log_filename.001
  • @sql_error_log_rate - valore intero, la velocità del logging.
    SET @sql_error_log_rate:=300; significa che un errore ogni 300 verrà scritto nel log.
    Se @sql_error_log_rate è 0 - il logging è disabilitato.
    Il default è 1 (tutti gli errori vengono loggati).
  • @sql_error_log_size_limit - valore intero, le dimensioni massime del file di log.
    Dopo aver raggiunto questo limite, avverrà la rotazione dei file.
    Il limite predefinito è di 1M.
  • @sql_error_log_rotations - valore intero, il numero di rotazioni.
    Durante la rotazione il file corrente cambia nome e ne viene creato uno nuovo, vuoto.
    @sql_error_log_rotations è il numero di vecchi log che vengono conservati, gli altri saranno eliminati.
  • @sql_error_log_rotate - valore booleano.
    E una variabile di sola scrittura. Se è TRUE, si forza la rotazione dei log.

Esempi

install plugin SQL_ERROR_LOG soname 'sql_errlog.so';
Query OK, 0 rows affected (0.00 sec)

use test;
Database changed

set sql_mode='STRICT_ALL_TABLES,NO_ENGINE_SUBSTITUTION';
Query OK, 0 rows affected (0.00 sec)

CREATE TABLE foo2 (id int) ENGINE=WHOOPSIE;
ERROR 1286 (42000): Unknown storage engine 'WHOOPSIE'
\! cat data/sql_errors.log
2013-03-19  9:38:40 msandbox[msandbox] @ localhost [] ERROR 1286: Unknown storage engine 'WHOOPSIE' : CREATE TABLE foo2 (id int) ENGINE=WHOOPSIE

Commenti

Sto caricando i commenti......
Content reproduced on this site is the property of its respective owners, and this content is not reviewed in advance by MariaDB. The views, information and opinions expressed by this content do not necessarily represent those of MariaDB or any other party.