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 就輕鬆很多了。* K' f4 @6 F! M% ^' a0 M7 a1 f
$ d  s: ^$ u9 z' x! u3 N6 j
要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:' g9 b( ~& N; h2 \5 {) ?5 [
: [3 f$ H8 i5 {  X0 T4 x3 R# t
/etc/my.cnf
7 v5 y+ [& @" [1 ?/etc/mysql/my.cnf
7 Q$ m& A; J, n3 {3 ?+ s
# j! u9 G' h5 X* D先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:( U' R3 k, s5 `: Z$ w& V
slow_query_log = 1
: _, j& Q9 t( s; i; Q2 tslow_query_log_file = /var/log/mysql-slow.log
  \! M0 X- \! }2 y/ T/ J, {; Glong_query_time = 2
5 z# W5 }& E2 V( J
以上幾行的意思分別是:6 Y2 N. W* |3 D* P( j* f

+ i. x8 [5 p+ i# u8 Xslow_query_log = 1
" e; x- i, o9 Y) t開啟紀錄執行慢的 SQL 語句:2 C5 q7 n/ P+ l+ s0 p
/ X8 `, B  t! w; L$ ]
slow_query_log_file = /var/log/mysql-slow.log
" ]1 a0 y5 Y) ?: F' x設定紀錄檔的位置在 /var/log/mysql-slow.log1 N5 F3 Y& H3 W: g0 |* `

& Z" q% P) J5 V# Y- ^+ u& ~long_query_time = 2
) k# i7 p% x5 b/ ?9 g設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。
% J8 e5 A0 P) l! h: q2 L5 M
% D# w7 M- G9 p0 L, D修改好 my.cnf 後, 重新啟動 MySQL 便完成了。
8 {! M2 c  W: o1 B4 {

+ k, k' M" N! U( K% k  F) t
% n- a5 u5 B9 G( I




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