52AV手機A片王|52AV.ONE

標題: MySQL 開啟 slow query log, 儲存執行慢的 SQL 語句 [打印本頁]

作者: IT_man    時間: 2019-1-6 16:41
標題: MySQL 開啟 slow query log, 儲存執行慢的 SQL 語句
有時發覺程式執行很慢, 其中一個要檢查的地方是資料庫。MySQL 可以將執行過的 SQL 語句全部紀錄下來, 或者可以只是將執行慢的 SQL 語句紀錄下來, 這樣對於 MySQL 語句的 Debug 就輕鬆很多了。
" P- W# B4 V$ Q0 v7 X" i" H- ?/ H0 L; N8 {
要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:
# p$ [/ B- T+ a
# T% Q9 L4 G/ Z* |/etc/my.cnf
2 R( N+ |8 B7 x% O$ V1 b/etc/mysql/my.cnf
- m* Q. q& E% r$ W
* e7 @: I* p  Q( s# o# L先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:$ ?. [% \  a. A7 H' y* B) H* \
slow_query_log = 1$ z: u5 H- Q( `: }/ m
slow_query_log_file = /var/log/mysql-slow.log
) c& X/ J. Q4 ], Along_query_time = 2

' H7 \9 Q. I) O3 y5 ]4 f9 ?以上幾行的意思分別是:- o: j! B4 h& z5 }; x) u
! A( R, ]. B, G9 H2 i  Y
slow_query_log = 1
! i7 [/ D" b6 ?7 R& l, M3 [開啟紀錄執行慢的 SQL 語句:
; ^; G& f; _- q$ A$ f& M$ [3 P- B
slow_query_log_file = /var/log/mysql-slow.log: U7 P& U  F0 j
設定紀錄檔的位置在 /var/log/mysql-slow.log
0 k9 N9 H  {8 ]; k6 G8 i0 I* {5 N: G+ l8 i5 v& |
long_query_time = 2
4 e. \+ ^; k. X% @# F5 v0 f設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。: P! \8 ?, X3 F' Z( w4 d! A2 r
1 V; q: K1 [* i2 \( A* k6 q# e0 K# u
修改好 my.cnf 後, 重新啟動 MySQL 便完成了。) x; p# V7 C( ^3 C1 J$ ?) R( P
0 v) a/ u7 i. V: U3 r

9 V* f) @( O" d' q! v4 {. e4 l' ]3 C




歡迎光臨 52AV手機A片王|52AV.ONE (https://www.52av.one/) Powered by Discuz! X3.2