共计 738 个字符,预计需要花费 2 分钟才能阅读完成。
慢查询日志用于记录一些过慢的查询语句,可以帮助管理员分析问题所在,该日志默认是没有开启的,需要在配置文件里添加一系列参数来手动启动
编辑 my.cnf 文件,在 [MySQLd] 模块下增加以下内容:
[mysqld]
slow_query_log = on #开启慢查询日志
slow_query_log_file = filename #指定日志文件保存路径,不指定的话默认在数据库文件目录下,名为 hostname-slow.log
long_query_time = 2 #指定达到多少秒才算慢查询
long-queries-not-using-indexes #记录没有使用索引的查询语句
min_examined_row_limit = 1000 #记录查找了多达 1000 次而引起的慢查询
log-slow-admin-statements #记录 ALTER TABLE 等语句引发的慢查询
log-slow-slave-statements #记录从服务器产生的慢查询
重启 MySQL 服务使配置生效
service mysqld restart
登陆数据库查询下环境
show variables like ‘%slow%’;
执行一个慢查询语句
select sleep(3);
查看慢查询日志已经生成,箭头处显示了执行用户以及查询语句
在有大量慢查询内容的日志文件中用文本查看的话会很麻烦,建议使用一些慢查询分析工具,如官方自带的 mysqldumpslow,使用后显示如下:
另外还有第三方的 percona-toolkit 中的 pt-query-digest 或 mysqlsla,安装好了后都直接跟上慢日志文件即可分析,这里就不再描述。
本文永久更新链接地址:http://www.linuxidc.com/Linux/2016-04/130345.htm