慢查询日志概念
mysql的慢查询日志是mysql提供的一种日志记录,它用来记录在mysql中响应时间超过阈值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10S以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。
慢查询日志相关参数
慢查询.pngslow_query_log : 是否已经开启慢查询
slow_query_log_file : 慢查询日志文件路径
long_query_time : 超过多少秒的查询就写入日志
log_queries_not_using_indexes 如果值设置为ON,则会记录所有没有利用索引的查询(性能优化时开启此项,平时不要开启)
1.临时开启慢查询日志
set global slow_query_log = on;
2.临时设置慢查询时间阈值
set global long_query_time=1;(需要重新打开链接才能看到修改后的值)
3.设置慢查询的存储方式
set globle log_output = file;(可以看到,我这里设置为了file,就是说我的慢查询日志是通过file体现的,默认是none,我们可以设置为table或者file,如果是table则慢查询信息会保存到mysql库下的slow_log表中)
4.使用慢查询日志示例
cat -n /var/lib/mysql/e90ca3b15ac1-slow.log 查看慢查询日志
5.永久设置慢查询日志开启,以及设置慢查询日志时间阈值
linux中,mysql配置文件一般默认在 /etc/my.cnf,更改对应参数即可。
网友评论