- 慢查询日志时记录查询时长超过指定时间的日志
- 通过慢查询日志,可以找出执行时间较长,执行效率较低的语句,然后进行优化
1.启动和设置慢查询日志
- MySQL中慢查询日志默认时关闭的
- 同通过配置文件my.ini(或my.ini)中的log-slow-queries选项打开,也可以在MySQL服务启动的时候使用--log-slow-queries[=file_name]启动慢查询日志
- 启动慢查询日志时,需要在my.ini(或my.cfg)文件中配置long-query_time选项指定记录阈值,如果某查询语句的查询时间操过了这个只,这个查询过程将被记录到慢查询日志文件中
[mysqld]
log-slow-qureies[=path / [filename]]
long_query_time=n
- 若不指定目录和文件名称,默认为hostname-slow.log(hostname为服务器的主机名)
- 参数n时时间值,单位时秒;若是没有设置long_query_time,默认为10秒
2.查看慢查询日志
- MySQL的慢查询日志是以文本形式存储的,可以直接使用文本编辑器查看
借助慢查询日志分析工具,可以更加方便的分析慢查询语句;比较著名的慢查询工具MySQL DUMP Slow,MySQL SLA,MySQL Log Filter,MyProfi
3.删除慢查询日志
- 和通用查询日志一样,慢查询日志也可以直接删除
- 删除后在不重启服务器的情况下,需要执行MySQLadmin -u root -p flush-logs重新生成日志文件,或者在客户端登录到服务器执行flush logs语句重建日志文件
平时应该打开哪些日志?
- 日志既会影响MySQL的性能,又会占用大量的磁盘空间
- 如果不必要,应尽可能少的开启日志
- 错误日志默认是开启的