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 就輕鬆很多了。
( S3 P0 t, I) f" j1 P5 r5 ~3 F. [6 W  E' z* P# h
要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:
  i  i5 m. ~6 R& M& w4 O* R3 h( q2 W: L1 u# _% u' Y
/etc/my.cnf1 W% x2 ^2 r* h/ L5 P
/etc/mysql/my.cnf( ]( u( S1 d1 y' @0 v6 n  X

: X+ h# g' K3 f/ f' i先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:; m, ]1 U. d. P/ V5 r
slow_query_log = 1
6 M- h5 k# B+ C  U( v4 ^2 B( ?* {slow_query_log_file = /var/log/mysql-slow.log
8 u  }" b9 G( d, E. `; H! Tlong_query_time = 2
, ]; W% A" d/ o! z7 t3 ~
以上幾行的意思分別是:  t' A) u8 C! i) {$ R
* C; b+ q' r' |2 R8 P+ O8 a, v7 w
slow_query_log = 1
' K# G/ a  m0 D/ Y5 Z% T! X1 S" j開啟紀錄執行慢的 SQL 語句:0 ?( V7 U: J& R3 O% _; s

; b: N7 i% m2 T7 i0 J: v' [) z! jslow_query_log_file = /var/log/mysql-slow.log
! _# a  n1 x% L) j7 e4 `% ]設定紀錄檔的位置在 /var/log/mysql-slow.log
" t, f4 n% j' t9 d) O
0 K8 c- W9 t1 J& o  clong_query_time = 2) s) Q2 F/ y& D( A# B7 n5 z/ {
設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。: k7 U7 N; P- _+ A( `. m

% X" Y' W5 ~* j& H5 Z) @2 I修改好 my.cnf 後, 重新啟動 MySQL 便完成了。
; Y# L# B" C7 z$ a

% R, \5 |" A6 s1 s' y" ^+ q$ j6 e: j+ V# f% q5 C





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