Cómo crear un perfil MySQL
Cómo perfilo una base de datos MySQL. Quiero ver todo el SQL que se ejecuta en una base de datos.
Sé que puedes hacer esto:
set profiling=1;
- Ejecute su consulta lenta (eg
SELECT * FROM messages WHERE fromaddress='xxx';
SHOW PROFILES;
Pero esto parece aplicarse solo a cosas que se ejecutan en la línea de comandos, quiero ver los resultados de ejecutar un sitio web.
5 answers
Desea el registro de consulta - pero obviamente hacer esto en un servidor de producción pesada podría ser... imprudente.
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-18 14:26:53
Eso funcionó para mí 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 versiones más recientes de mysql, comente 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 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 una nueva terminal y ejecute este comando para desplazarse el archivo de registro, ajustando la ruta si es necesario.
tail -f /var/log/mysql/mysql.log
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-22 06:23:13
Simplemente puede analizar el registro de consulta en tiempo real. Si está en Linux, puede usar tail-f para ver el registro en vivo
Además, puedes probar algún software libre de estos tipos:
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-18 14:25:18
Hay un producto comercial
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2013-09-22 06:22:04
MySqlAdministrator tiene algunas características útiles de compilación (incluida la vista de registros), pero para los registros debe ejecutarse en la misma máquina que database
Warning: date(): Invalid date.timezone value 'Europe/Kyiv', we selected the timezone 'UTC' for now. in /var/www/agent_stack/data/www/ajaxhispano.com/template/agent.layouts/content.php on line 61
2009-06-18 14:29:51