¿Cómo veo las últimas consultas ejecutadas en MySQL en un formato de transmisión en vivo?
Quiero dejar abierta la ventana de mi terminal y que aparezcan consultas de MySQL en la pantalla cada vez que se ejecuta algo. Sé que puedo hacerlo con el comando tail, pero no estoy seguro de dónde se almacenan los registros de MySQL. También puedo realizar el proceso mysqladmin, pero eso no me proporciona una transmisión en vivo continua.
Respuesta1
Tienes un par de opciones aquí. Puede habilitar el registro de consultas generales para MySQL agregando:
log = /path/to/your/log.log
a su my.cnf (normalmente /etc/my.cnf) y reinicie. Luego puedes seguirlo según sea necesario. No necesariamente recomendaría esto, ya que ese tronco puede crecer bastante con el tiempo.
Su segunda opción, como mencionó, es usar watch junto con el proceso mysqladmin. Por ejemplo, puedes utilizar:
watch -n.5 'mysqladmin proc stat'
para mostrarle la lista de procesos y el estado cada medio segundo. Puede cambiar -n.5 para adaptarlo a sus necesidades específicas (prefiero agregar stat a la línea para brindar información adicional, lo que a veces puede ser útil).
Respuesta2
Todas las consultas se escriben en un archivo del sistema llamado ".mysqlhistory". Puede ejecutar el siguiente comando para ver activamente las consultas que se ejecutan en su base de datos.
buscar / -nombre ".mysqlhistory" -exec 'cola -f'