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 就輕鬆很多了。, ^9 H2 ^6 [, _/ I+ N
' _8 F. L$ r! O! e3 v
要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:2 H, A9 q) F' Y- \* T- u
0 e+ F+ w- C2 v/ B" y
/etc/my.cnf  a+ [) v" o& y
/etc/mysql/my.cnf9 M7 r' R) t" P/ n" }

' O5 S9 Y# b* P: E5 Z) m$ M8 b先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:
0 g, y- B9 ]. Z" a( q" Y
slow_query_log = 1% @3 M8 w/ ]) q3 u6 m% M
slow_query_log_file = /var/log/mysql-slow.log
' s' L& j' W4 b. F, D0 |1 nlong_query_time = 2
/ Y0 u7 ]! c, z4 a% `; c9 s4 `
以上幾行的意思分別是:  T) e  m9 |. d1 h( C+ k! E
& t) A% t: G1 h2 d0 Z3 I
slow_query_log = 1
/ Q9 Y/ S6 ?% ?開啟紀錄執行慢的 SQL 語句:
3 A0 X7 }$ |" V0 d
: |6 |# H0 w7 \* aslow_query_log_file = /var/log/mysql-slow.log$ m* j1 g/ [6 o: w9 u3 {# a+ ], R8 I$ y
設定紀錄檔的位置在 /var/log/mysql-slow.log4 ~$ G+ I/ Z: l: v- B9 `0 B

4 d' d' A! K" w& Vlong_query_time = 2' S/ I" j% a( D- T9 W$ @9 C* n2 K& t
設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。
: Q' P7 j7 K" I: @6 |- ~. v0 U
% {/ g$ _  R* M修改好 my.cnf 後, 重新啟動 MySQL 便完成了。8 j6 z' i  E5 u& u
4 U. N* T1 i+ p( P0 v* E8 l% A8 u
) Y2 b& Z! }  V4 u2 }





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