example create column mysql sql profiling database-tuning

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



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:

http://hackmysql.com/mysqlsla