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 就輕鬆很多了。2 `/ q: \& A+ ^: d% L* U" S
8 }$ x8 c9 X5 V* ~
要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:% D: ]& A: B1 W0 Q' N) w

6 \6 U7 F6 S6 U, d$ A- d0 B/etc/my.cnf$ K# a/ p4 t4 A
/etc/mysql/my.cnf
) v3 i1 o6 x" e3 t. n
5 l3 Q4 x2 @2 A. @  e6 b7 r先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:* I' X  G/ ~$ U9 v: _
slow_query_log = 1
& y) F, }8 V" a- G: D( Vslow_query_log_file = /var/log/mysql-slow.log
! {0 H0 n& K0 e) V5 h" @) L* }long_query_time = 2

4 s1 l* R3 q% Q, |以上幾行的意思分別是:% f" L2 p5 s3 i, {8 ^
. ]: s, l, n4 ?" B  _* o
slow_query_log = 19 X4 z2 e" ^' ?2 k: s0 c2 m
開啟紀錄執行慢的 SQL 語句:
, ?! z5 [. r: n( H: g: n5 H7 s
0 i# \! @; a, g2 rslow_query_log_file = /var/log/mysql-slow.log
: h( L% `/ s5 a9 N- `- s5 _( f5 S' [設定紀錄檔的位置在 /var/log/mysql-slow.log* X3 R  }5 I! M# T) V4 J! {' r

8 l6 [9 C5 X- u7 tlong_query_time = 2
, o' F8 Z* f7 \設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。
+ [7 m* t% r5 w
# K: _# Z' N! Y+ R5 o修改好 my.cnf 後, 重新啟動 MySQL 便完成了。; M* c6 v. h/ x% P

9 S, W/ N7 C5 v  C# Y8 T' R9 A( u& V4 W
' S5 y3 F5 g& P$ k, Y7 R. h




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