Difference between revisions of "MySQL Query logging"

From Notes_Wiki
m
m
Line 1: Line 1:
<yambe:breadcrumb>Mysql configuration</yambe:breadcrumb>
<yambe:breadcrumb self="MySQL Query Logging">Mariadb configuration | Mariadb configuration</yambe:breadcrumb>
=Query logging=
=MySQL Query logging=


==Logging all queries==
==Logging all queries==
Line 36: Line 36:




<yambe:breadcrumb>Mysql configuration</yambe:breadcrumb>
<yambe:breadcrumb self="MySQL Query Logging">Mariadb configuration | Mariadb configuration</yambe:breadcrumb>

Revision as of 10:57, 17 August 2018

<yambe:breadcrumb self="MySQL Query Logging">Mariadb configuration | Mariadb configuration</yambe:breadcrumb>

MySQL Query logging

Logging all queries

We can log all queries that are received by server (even that have incorrect syntax) using 'log' option in '[mysqld]' section

[mysqld]
log

This can be very helpful on development machines for debugging.


Logging slow queries

Logging all queries can be problematic on production servers. Hence on production servers we can use:

long_query_time = 5
log_slow_queries
log_long_format

Here:

  • 'log_slow_queries' is used to log all queries which take more than 'long_query_time' seconds to execute. The minimum value of this parameter is 2, as mysql measures time with second accuracy.
  • 'log_long_format' will log additional information like which queries are not using indexes at all or not using indexes properly, etc.

In newer versions use:

long_query_time = 5
slow_query_log = 1
slow_query_log_file = /tmp/mysql_slow.log


More information about configurable parameters of mysql can be found in '/usr/share/doc/mysql-server-<version>'.


<yambe:breadcrumb self="MySQL Query Logging">Mariadb configuration | Mariadb configuration</yambe:breadcrumb>