首頁 >後端開發 >php教程 >如何開啟mysql和php慢日誌

如何開啟mysql和php慢日誌

藏色散人
藏色散人轉載
2019-12-04 09:52:203016瀏覽

開啟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;
mysql> set long_query_time=3; mysql5.7

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

#推薦:《PHP教學

以上是如何開啟mysql和php慢日誌的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文轉載於:whsir.com。如有侵權,請聯絡admin@php.cn刪除