mysql慢日志
2014-03-30 17:36
211 查看
mysql慢日志是用来记录执行时间比较长的sql工具(超过long_query_time的sql),这样对于跟踪有问题的sql很有帮助。
查看是否启用慢日志和相关信息
上面截图其中:
log_slow_queries,slow_query_log,slow_query_log_file,long_query_time和慢日志查询有关。其中slow_launch_time和慢日志查询没有关系,它代表的是thread create的一个阈值,具体作用目前不是很清楚。
打开慢日志查询的方法:
修改配置文件然后重启mysql:
在mysqld后面添加
long_query_time = 1 #是指执行超过多久的sql会被记录,以秒为单位
log-slow-queries = D:\temp\mysqlslowquery.log #设置把日志写在那个文件
log_queries_not_using_indexes # 记录没有使用索引的查询
修改之后重启可以查看:
在global级别动态修改
mysql> set global log_slow_queries=ON;
mysql慢日志使用最多的地方就是定位sql的性能问题
mysql慢日志查询分析工具:mysqldumpslow
命令行选项:
-s:是表示按照何种方式排序。c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,前面加a(ac、at、al、ar)表示相应的倒叙
-t: 后面跟一个数字,表示返回前面多少条的数据
-g:后边跟一个正则匹配模式(注意:大小写是不敏感的)
查看是否启用慢日志和相关信息
上面截图其中:
log_slow_queries,slow_query_log,slow_query_log_file,long_query_time和慢日志查询有关。其中slow_launch_time和慢日志查询没有关系,它代表的是thread create的一个阈值,具体作用目前不是很清楚。
打开慢日志查询的方法:
修改配置文件然后重启mysql:
在mysqld后面添加
long_query_time = 1 #是指执行超过多久的sql会被记录,以秒为单位
log-slow-queries = D:\temp\mysqlslowquery.log #设置把日志写在那个文件
log_queries_not_using_indexes # 记录没有使用索引的查询
修改之后重启可以查看:
在global级别动态修改
mysql> set global log_slow_queries=ON;
mysql慢日志使用最多的地方就是定位sql的性能问题
mysql慢日志查询分析工具:mysqldumpslow
命令行选项:
-s:是表示按照何种方式排序。c、t、l、r分别是按照记录次数、时间、查询时间、返回的记录数来排序,前面加a(ac、at、al、ar)表示相应的倒叙
-t: 后面跟一个数字,表示返回前面多少条的数据
-g:后边跟一个正则匹配模式(注意:大小写是不敏感的)
相关文章推荐
- mysql记录操作日志功能
- MySQL慢查询日志总结
- apparmor 引起自定义mysql 日志问题
- mysql 二进制日志
- MySQL 4种日志
- MySQL++学习日志(一)
- mysql之 mysql 5.6不停机主主搭建(活跃双主基于日志点复制)
- 清理mysql日志方法
- 将web前端JS错误日志合并到logback中再一起汇总到mysql或其他
- rsyslog+loganalyzer+mysql部署日志服务器
- MySQL常规日志排错
- Mysql主从复制_模式之日志点复制
- MySQL管理之日志详解 推荐
- rsyslog将日志记录于MySQL中并web显示
- 公司线上的 MySQL 慢日志,之前一直没有做好监控。趁着上周空闲,我就把监控脚本写了下,今天特地把代码发出来与51博友分享一下。 针对脚本的注解和整体构思,我会放到脚本之后为大家
- 【MySQL运维】事物隔离级别和行日志格式设置不当导致故障案例 推荐
- 开启mysql日志及若干问题
- mysql日志
- MySQL 二进制日志(Binary Log)
- mysql触发器学习日志