MySQL慢查询日志总结( 三 )



MySQL慢查询日志总结

文章插图

在MySQL里面执行下面SQL语句,然后我们去检查对应的慢查询日志,就会发现类似下面这样的信息 。
mysql> select sleep(3);+----------+| sleep(3) |+----------+|        0 |+----------+1 row in set (3.00 sec) [root@DB-Server ~]# more /tmp/mysql_slow.log/usr/sbin/mysqld, Version: 5.6.20-enterprise-commercial-advanced-log (MySQL Enterprise Server - Advanced Edition (Commercial)). started with:Tcp port: 0  Unix socket: (null)Time                 Id Command    Argument/usr/sbin/mysqld, Version: 5.6.20-enterprise-commercial-advanced-log (MySQL Enterprise Server - Advanced Edition (Commercial)). started with:Tcp port: 0  Unix socket: (null)Time                 Id Command    Argument# Time: 160616 17:24:35# User@Host: root[root] @ localhost []  Id:     5# Query_time: 3.002615  Lock_time: 0.000000 Rows_sent: 1  Rows_examined: 0SET timestamp=1466069075;select sleep(3);
MySQL慢查询日志总结

文章插图
 
log_output 参数是指定日志的存储方式 。log_output='FILE'表示将日志存入文件,默认值是'FILE' 。log_output='TABLE'表示将日志存入数据库,这样日志信息就会被写入到mysql.slow_log表中 。MySQL数据库支持同时两种日志存储方式,配置的时候以逗号隔开即可,如:log_output='FILE,TABLE' 。日志记录到系统的专用日志表中,要比记录到文件耗费更多的系统资源,因此对于需要启用慢查询日志,又需要能够获得更高的系统性能,那么建议优先记录到文件 。
mysql> show variables like '%log_output%';+---------------+-------+| Variable_name | Value |+---------------+-------+| log_output    | FILE  |+---------------+-------+1 row in set (0.00 sec) mysql> set global log_output='TABLE';Query OK, 0 rows affected (0.00 sec) mysql> show variables like '%log_output%';+---------------+-------+| Variable_name | Value |+---------------+-------+| log_output    | TABLE |+---------------+-------+1 row in set (0.00 sec) mysql> select sleep(5) ;+----------+| sleep(5) |+----------+|        0 |+----------+1 row in set (5.00 sec) mysql>  mysql> select * from mysql.slow_log;+---------------------+---------------------------+------------+-----------+-----------+---------------+----+----------------+-----------+-----------+-----------------+-----------+| start_time          | user_host                 | query_time | lock_time | rows_sent | rows_examined | db | last_insert_id | insert_id | server_id | sql_text        | thread_id |+---------------------+---------------------------+------------+-----------+-----------+---------------+----+----------------+-----------+-----------+-----------------+-----------+| 2016-06-16 17:37:53 | root[root] @ localhost [] | 00:00:03   | 00:00:00  |         1 |             0 |    |              0 |         0 |         1 | select sleep(3) |         5 || 2016-06-16 21:45:23 | root[root] @ localhost [] | 00:00:05   | 00:00:00  |         1 |             0 |    |              0 |         0 |         1 | select sleep(5) |         2 |+---------------------+---------------------------+------------+-----------+-----------+---------------+----+----------------+-----------+-----------+-----------------+-----------+2 rows in set (0.00 sec) mysql>  


推荐阅读