create - Cómo perfilar MySQL
mysql reserved words (5)
¿Cómo puedo hacer un perfil de una base de datos MySQL. Quiero ver todo el SQL que se ejecuta en una base de datos.
Sé que puedes hacerlo:
set profiling=1;
- Ejecute su consulta lenta (por ejemplo,
SELECT * FROM messages WHERE fromaddress=''xxx'';
-
SHOW PROFILES;
Pero parece que esto solo se aplica a las cosas que se ejecutan en la línea de comandos, quiero ver los resultados de la ejecución de un sitio web.
Desea el registro de consultas , pero obviamente hacer esto en un servidor de producción pesada podría ser ... imprudente.
Eso me funcionó en Ubuntu.
Busque y abra su archivo de configuración de MySQL, generalmente /etc/mysql/my.cnf
en Ubuntu. Busque la sección que dice "Registro y replicación"
# * Logging and Replication
# Both location gets rotated by the cronjob.
# Be aware that this log type is a performance killer.
log = /var/log/mysql/mysql.log
o en las versiones más recientes de mysql, comente FUERA de estas líneas de códigos
general_log_file = /var/log/mysql/mysql.log
general_log = 1
log_error = /var/log/mysql/error.log
Simplemente descomente la variable de log
para activar el registro. Reinicie MySQL con este comando:
sudo /etc/init.d/mysql restart
Ahora estamos listos para comenzar a monitorear las consultas a medida que ingresan. Abra un nuevo terminal y ejecute este comando para desplazarse por el archivo de registro, ajustando la ruta si es necesario.
tail -f /var/log/mysql/mysql.log
Hay un producto comercial.
MySqlAdministrator tiene algunas características útiles de compilación (incluida la vista de registros), pero para los registros se deben ejecutar en la misma máquina que la base de datos
Simplemente puede analizar el registro de consultas en tiempo real. Si está en Linux, puede usar tail -f para ver el registro en vivo
Además, puedes probar algunos programas gratuitos de estos tipos: