
文章插图
在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);

文章插图
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>
推荐阅读
- mysql查询太慢,我们如何进行性能优化?
- 聊聊Mysql索引和redis跳表
- 家里无线网络每天不定时段出现网速很慢或者直接无连接,这是怎么回事?
- 慢性盆腔蜂窝织炎
- MySql安装全攻略,如果想好好学习,一篇就够了
- 线上 MySql 事务死锁,应该怎么排查解决?
- 新手教程,Linux系统下MySQL的安装
- 世界上跑得最慢的马?世界上什么马跑得最快
- JDBC+MySQL入门增删改查实战
- 搭建mysql主从并用springboot读写分离-含源码
