开启mysql慢日志
MySQL的慢查询日志是MySQL提供的一种日志记录,它用来记录在MySQL中响应时间超过阀值的语句,具体指运行时间超过long_query_time值的SQL,则会被记录到慢查询日志中。long_query_time的默认值为10,意思是运行10s以上的语句。默认情况下,Mysql数据库并不启动慢查询日志,需要我们手动来设置这个参数,当然,如果不是调优需要的话,一般不建议启动该参数,因为开启慢查询日志会或多或少带来一定的性能影响。慢查询日志支持将日志记录写入文件,也支持将日志记录写入数据库表。
1、开启mysql慢日志方法一(临时,重启mysql失效):
服务器登录mysql,查看当前慢查询日志状态
mysql>show variables like ‘%slow_query_log%’;
+———————+—————————————–+
| Variable_name | Value |
+———————+—————————————–+
| slow_query_log | OFF |
| slow_query_log_file | /usr/local/mysql/var/localtest-slow.log |
+———————+—————————————–+
2 rows in set (0.00 sec)
mysql>show variables like ‘%long_query_time%’;
+—————–+———–+
| Variable_name | Value |
+—————–+———–+
| long_query_time | 10.000000 |
+—————–+———–+
1 row in set (0.00 sec)
开启慢日志,设置慢查询时间(秒)
mysql>set global log_slow_queries=ON;mysql5.6以下版本
mysql>set global slow_query_log=ON;mysql5.6以上版本
mysql>set global slow_launch_time=10;
2、开启mysql慢日志方法二(永久生效)
编辑mysql配置文件/etc/my.cnf
[mysqld]
slow_query_log = 1#是否开启慢查询日志,1表示开启,0表示关闭,也可以使用off和on
long_query_time = 5#慢查询时间
log-slow-queries=/var/log/slowquery.log#mysql5.6以下版本
slow-query-log-file=/var/log/slowquery.log#mysql5.6及以上版本
开启php慢日志
编辑php-fpm.conf
request_slowlog_timeout = 5执行时间大于5秒记录慢日志,0表示关闭慢日志
slowlog = /var/log/php-fpm/www-slow.log指定慢日志路径
修改完成后,需要重启php
原创文章,作者:奋斗,如若转载,请注明出处:https://blog.ytso.com/notes/181810.html