¿Es posible ver qué comandos SQL se ejecutan en mi máquina CentOS?

¿Es posible ver qué comandos SQL se ejecutan en mi máquina CentOS?

Compré un programa que se ejecuta en mi máquina CentOS. Está escrito en PHP. Utiliza una base de datos MYSQL.

Una de las funciones del programa es registrar nuevos usuarios. Utiliza una consulta SQL para agregar los usuarios. Quiero escribir un programa Python que también pueda agregar usuarios a esta base de datos, pero no sé qué propiedades y tablas agrega (es una base de datos bastante grande).

¿Es posible monitorear de alguna manera qué consultas SQL envía este programa a MYSQL?

Respuesta1

Hay dos formas de hacerlo, una más sencilla (y tal vez no lo suficientemente buena) y una más complicada que te dará lo que buscas al 100%.

  1. Más sencillo es simplemente buscar consultas justo a tiempo mientras se ejecutan con SHOW FULL PROCESSLISTel comando. Eso le mostrará las consultas, pero si la acción (consulta SQL que está buscando) rara vez se ejecuta, tendrá que esperar mucho tiempo y emitir el comando anterior con frecuencia para obtener el resultado que desea. También hay una mejor manera.

  2. Inicie MySQL con el registro habilitado y luego podrá ver todas las consultas SQL desde el reinicio del servidor MySQL. Aquí el problema es que el archivo de registro puede ser muy grande y puede llevar mucho tiempo para personas sin experiencia encontrar lo que está buscando, pero este enfoque generalmente es mejor. La opción es simple:

mysqld --log=name_of_log_file.log

Es así de simple.

Sólo una advertencia: cuando encuentre lo que estaba buscando, reinicie MySQL pero esta vez con el registro deshabilitado, ya que esto acelerará la base de datos y no ocupará espacio en el disco de su servidor.

Respuesta2

Para ver qué consultas MySQL se ejecutan en cualquier plataforma que tenga mysql.

La consulta MySQL es la siguiente,

  • SHOW FULL PROCESSLISTpara obtener información detallada.
  • SHOW PROCESSLISTpara consultas actualmente en proceso.

Abierto # mysqlen la terminal.

mysql> SHOW FULL PROCESSLIST;

mysql> SHOW PROCESSLIST;

para más documentación, eche un vistazo amostrar lista de procesos.

información relacionada