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 就輕鬆很多了。
  p8 a5 [' C/ T7 S9 u3 I# C
( l7 D' B' v* j3 C. X9 Z  _# I要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:
" Y/ a  t8 r: Q1 `, H$ Z6 }! j' `, H& X. q6 t' e4 K; m$ w
/etc/my.cnf0 x# L7 G0 \* i0 _& b! K% V6 V
/etc/mysql/my.cnf
. n# y- k" O7 `/ ]: l6 |# ]: N
% w) E0 s+ D0 ]! @+ G0 e0 _先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:# C5 i( I; z- D5 F$ ]) Y$ W: C5 b* h
slow_query_log = 1
2 k; |- k8 W0 l: V5 q- p1 Lslow_query_log_file = /var/log/mysql-slow.log
1 t' d- z: Q7 j3 @- H  [long_query_time = 2
" D  w# p- k  O
以上幾行的意思分別是:! B+ k5 A% `/ A% e; Y

& s- {2 X+ u# Y) G$ G" j' Aslow_query_log = 16 z7 J4 S" x( _4 D' W! K
開啟紀錄執行慢的 SQL 語句:
! m7 K2 ^) S9 ]9 c/ P' M" W7 f  Y/ G) S- n; j: M1 F
slow_query_log_file = /var/log/mysql-slow.log7 Q: V% E- g& ?  K2 {* T5 c: ]4 F0 r3 i
設定紀錄檔的位置在 /var/log/mysql-slow.log7 R& \+ Q9 z2 g; f1 @: S

7 m5 \0 Z3 F3 y1 t6 a  z6 m- along_query_time = 2) G# m; ^$ {. K9 s& d
設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。
' X+ C% }1 i4 f% n% d$ g" J* [; `8 f* X8 E, {4 B) F
修改好 my.cnf 後, 重新啟動 MySQL 便完成了。4 B2 U2 Q0 B7 @4 r* ~; k
. R' |1 |. C5 l1 a8 V, ^8 `- G
+ ]2 K2 P- i3 L" F9 x& L8 u) z





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