摘要:開啟mysql慢日志 MySQL的慢查詢日志是MySQL提供的一種日志記錄,它用來記錄在MySQL中響應時間超過閥值的語句,具體指運行時間超過long_query_time值的SQL,則會被記錄到慢查詢日志中。
開啟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
本文為云棲社區原創內容,未經允許不得轉載,如需轉載請發送郵件至yqeditor@list.alibaba-inc.com;如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至:yqgroup@service.aliyun.com 進行舉報,并提供相關證據,一經查實,本社區將立刻刪除涉嫌侵權內容。