Ese mecanismo es completamente diferente del syslog del sistema operativo.
La configuración de la salida de registro se puede establecer en TABLE, FILE (predeterminado) o NONE
si usas esto
[mysqld]
log-output=TABLE
Esto hará que el registro para el registro general y / o el registro lento vaya a un archivo CSV. Puede convertir ese CSV a MyISAM de la siguiente manera:
SET @old_log_state = @@global.general_log;
SET GLOBAL general_log = 'OFF';
ALTER TABLE mysql.general_log ENGINE = MyISAM;
ALTER TABLE mysql.general_log ADD INDEX (event_time);
SET GLOBAL general_log = @old_log_state;
Luego puede dejar que este archivo crezca enormemente y tendrá que purgar la tabla de vez en cuando. Aquí se explica cómo purgar la tabla general_log y conservar los últimos 3 días:
SET @old_log_state = @@global.general_log;
SET GLOBAL general_log = 'OFF';
CREATE TABLE mysql.general_log_new LIKE mysql.general_log;
INSERT INTO mysql.general_log_new
SELECT * FROM mysql.general_log WHERE event_time > NOW() - INTERVAL 3 DAY;
DROP TABLE mysql.general_log;
ALTER TABLE mysql.general_log_new RENAME mysql.general_log;
SET GLOBAL general_log = @old_log_state;
¿Qué pasa con el syslog (var / log / messages)? Debes escribir eso tú mismo. Primero, o necesitas esto:
[mysqld]
log
log-ouput=TABLE,FILE
general-log-file=/var/log/mysql-general.log
si desea recopilar el registro general en ambos formatos o
[mysqld]
log
general-log-file=/var/log/mysql-general.log
solo por el formato de archivo.
Ahora haga un script para recopilar cambios en /var/log/general.log. El script debería parecerse mucho a esto:
NEWCOUNT=`wc -l < /var/log/mysql-general.log`
if [ -f /tmp/general-log-lines.txt ]
then
OLDCOUNT=`cat /tmp/general-log-lines.txt`
if [ ${OLDCOUNT} -lt ${NEWCOUNT} ]
then
DIFF=`echo ${NEWCOUNT}-${OLDCOUNT}|bc`
tail -${DIFF} < /var/log/mysql-general.log >> /var/log/messages
echo ${NEWCOUNT} > /tmp/general-log-lines.txt
fi
fi
Ejecute este script cada minuto. Recomiendo truncar el registro general cada medianoche como este
echo -n > /var/log/mysql-general.log
Darle una oportunidad !!!