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 就輕鬆很多了。
  z3 G4 a' [9 c' E9 H8 c' J% Q9 w( o# Y& d" V2 Q; v7 ]
要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:% ?3 \3 k. b0 O' ]# i

3 |* E' ~8 F4 M8 L/etc/my.cnf5 j4 T' L  p) D/ l
/etc/mysql/my.cnf- o7 g, [% ~2 |6 z9 T  ~  A

% o: A4 e4 q$ a& n  X先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:
8 w. B1 N2 h: x5 P7 A
slow_query_log = 1
! i& [7 W  W) [slow_query_log_file = /var/log/mysql-slow.log
1 |0 K' L$ s* {long_query_time = 2

; d7 B( T. e+ h( a! D以上幾行的意思分別是:
$ Y! q! R# w: g8 H! a6 `/ Z
5 L1 l6 d% ]; I* |1 T  U( C# @slow_query_log = 1; p1 T( g$ n6 P9 V
開啟紀錄執行慢的 SQL 語句:
0 l1 l- Q8 `' Z4 a" ~$ g  }8 y5 S* c4 C" c! l; }( c% J7 ^
slow_query_log_file = /var/log/mysql-slow.log
( ~( {+ _0 r. p3 c設定紀錄檔的位置在 /var/log/mysql-slow.log: ]3 z9 a4 Y5 H8 W6 ^: y  S

9 a* c9 O6 M$ P+ S0 X, Jlong_query_time = 2
. O2 k$ u. ?& P! o' C7 Z( i" n設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。+ h1 }+ b2 ?% J+ r7 v& _* z

0 ?' F* }% b6 `* J: J5 R" R5 q修改好 my.cnf 後, 重新啟動 MySQL 便完成了。
  @. S2 h0 o6 b" ^
( U! q+ `/ e! Z: g

$ E- @# ~- \. |( k




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