¿Cómo mostrar las últimas consultas ejecutadas en MySQL?

Resuelto FerranB asked hace 15 años • 10 respuestas

¿Existe alguna consulta/forma de mostrar las últimas consultas ejecutadas en TODOS los servidores?

FerranB avatar Mar 16 '09 19:03 FerranB
Aceptado

Para aquellos bendecidos con MySQL >= 5.1.12, pueden controlar esta opción globalmente en tiempo de ejecución:

  1. EjecutarSET GLOBAL log_output = 'TABLE';
  2. EjecutarSET GLOBAL general_log = 'ON';
  3. Echa un vistazo a la mesamysql.general_log

Si prefiere generar un archivo en lugar de una tabla:

  1. SET GLOBAL log_output = "FILE"; el valor por defecto .
  2. SET GLOBAL general_log_file = "/path/to/your/logfile.log";
  3. SET GLOBAL general_log = 'ON';

Prefiero este método a editar archivos .cnf porque:

  1. no estás editando el my.cnfarchivo y potencialmente activando el registro de forma permanente
  2. No estarás rebuscando en el sistema de archivos buscando el registro de consultas, o peor aún, distrayéndote por la necesidad de encontrar el destino perfecto. /var/log /var/data/log /opt /home/mysql_savior/var
  3. No es necesario reiniciar el servidor ni interrumpir ninguna conexión actual.
  4. reiniciar el servidor lo deja donde comenzó (el registro aún está desactivado de manera predeterminada)

Para obtener más información, consulte el Manual de referencia de MySQL 5.1 - Variables del sistema del servidor - general_log

FlipMcF avatar Mar 24 '2009 17:03 FlipMcF

Puede habilitar un registro de consultas general para ese tipo de diagnóstico. Sin embargo, generalmente no registra todas las consultas SELECT en un servidor de producción, ya que afecta el rendimiento.

Edite su configuración de MySQL, por ejemplo, /etc/mysql/my.cnf: busque o agregue una línea como esta

[mysqld]
log = /var/log/mysql/mysql.log

Reinicie mysql para recoger ese cambio, ahora puede

tail -f /var/log/mysql/mysql.log

Hola, listo, puedes ver las consultas a medida que van llegando.

Paul Dixon avatar Mar 16 '2009 12:03 Paul Dixon
SELECT * FROM  mysql.general_log  WHERE command_type ='Query' LIMIT total;
zloctb avatar Jun 18 '2015 17:06 zloctb