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 就輕鬆很多了。
/ U& o, b, U, H  e; ?: q2 |) U) Q3 N4 r, @, }# y
要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:
1 |/ O, x' |; K0 S9 h9 F' C, `, \1 h3 I$ V
/etc/my.cnf
; \$ ^  t( f7 @0 R& h/etc/mysql/my.cnf
5 h% S$ g- p1 X/ l; L/ h
- w2 _! k, I1 }3 w* W先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:
1 o; G# s0 E9 {, P1 n* A# f
slow_query_log = 1
' I  |6 K, V* Oslow_query_log_file = /var/log/mysql-slow.log/ F6 Y5 v9 M- K" Z
long_query_time = 2
6 i9 E: |. N* f, E+ r% ?( g- l
以上幾行的意思分別是:
0 Q6 z: Y! L  Z, D3 c1 B# S8 e4 g& s0 \/ l8 A' }2 n1 d' K
slow_query_log = 1
7 m: s( E+ c; \# F開啟紀錄執行慢的 SQL 語句:
* O. x7 P7 J; g# d
; [( l  p6 {! ]: g1 e! L( cslow_query_log_file = /var/log/mysql-slow.log4 P9 J* B- s' H% x0 D2 X3 f) v2 R
設定紀錄檔的位置在 /var/log/mysql-slow.log4 Q( D: @/ ?  T" \3 J! t

  [* k& l2 ^, `& u& e0 tlong_query_time = 2, D! X0 E( q( o& ?2 K/ C' i, H
設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。" [7 }" k2 J0 ~/ P# O: }
2 d) w. N0 q2 T' v" _4 P
修改好 my.cnf 後, 重新啟動 MySQL 便完成了。
; l, u% b$ R8 l5 z* v5 z$ a
5 e# I4 S( l! u1 t. M7 [4 B7 Z

+ H% t6 z+ a3 e$ W# {5 |: G




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