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慢紀錄檔的詳細內容,更多請關注TW511.COM其它相關文章!