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 就輕鬆很多了。& z' b0 g4 g7 ^; `( ^, `+ M

! K% j1 b5 S/ H" a, c5 b要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:& U6 ~/ `) C3 H/ C2 O
- i% }$ g& `3 {: X0 K4 h
/etc/my.cnf
% R( m& V. m$ m  b, [0 a/etc/mysql/my.cnf4 E) |8 P- M! V5 z7 h( x3 n9 |

$ E4 [/ c7 B2 x: \, F先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:( G- X; V! l9 U+ G/ K+ e3 C3 V
slow_query_log = 1
& g7 i! o2 l$ W% O7 [/ \slow_query_log_file = /var/log/mysql-slow.log8 m* Z. \3 O% C& B7 X
long_query_time = 2

% k( z% I. Y& b. T以上幾行的意思分別是:
7 |5 y: {# Y6 Y  e
5 B! B) B9 ~" h+ ?: Qslow_query_log = 1$ q" T2 {/ ~# p; |
開啟紀錄執行慢的 SQL 語句:( u3 @5 B5 Q/ P  B5 z( d5 G

( y6 m0 J3 e! Y! s( T6 T" G+ Mslow_query_log_file = /var/log/mysql-slow.log
2 e& H& N% L: P4 W) E設定紀錄檔的位置在 /var/log/mysql-slow.log+ t" \) E7 U2 P$ [" A* p

* U; z6 I1 [' Y8 E6 y$ D8 a/ Olong_query_time = 23 r, I' f! k( B3 K( P" m- @5 j2 _4 g
設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。. t& F# _; b4 [+ A6 G, \+ {6 V. T

% O9 O  L0 n$ w" @/ l修改好 my.cnf 後, 重新啟動 MySQL 便完成了。) e. }' [0 c' Z: q5 A% S6 H

+ C% s! Y. D$ V1 L: w* y6 k9 I0 A) D$ x% r





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