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 就輕鬆很多了。1 D9 F8 E4 L) O& u+ _
  J, r7 ]  Z( |
要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:* ?/ C8 {' F: s/ h) N

' d' Y# U, n6 [4 ?8 Q1 X0 {/etc/my.cnf! k: I9 K( z- I+ I$ T4 v8 \! J/ i
/etc/mysql/my.cnf2 T2 A8 R! \$ L$ a1 g2 p3 e: l

! `0 U3 Q4 a0 x/ L; B6 ]先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:, q+ D6 e3 O  m9 D9 t! W: u: ]: }
slow_query_log = 1" [6 v+ |: S& i3 \+ o# Q: e
slow_query_log_file = /var/log/mysql-slow.log
, C. `9 ]" L; C( K8 G$ Glong_query_time = 2
( j1 ^8 O( \7 S% {8 \" a
以上幾行的意思分別是:. o' L' ^) E2 b; m

! u" Y' H/ C5 K3 D' Wslow_query_log = 10 X) h) B. b: E0 a
開啟紀錄執行慢的 SQL 語句:
# @/ @) C3 N7 v- h# m" ~6 t% ]1 M4 }2 ^' R) X  V. f% m
slow_query_log_file = /var/log/mysql-slow.log
- C' t: Y- w+ c$ n2 i. q) K設定紀錄檔的位置在 /var/log/mysql-slow.log# c/ W4 T" }5 c4 \: `  f

  i; L3 p5 G) h) v6 {3 ]" `" Ulong_query_time = 2
, k- q8 E7 p" ~' X7 \設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。
2 ?$ S+ M7 w" o3 D9 p" o& ?4 P! o2 O; A8 g, w: b9 J( G; y
修改好 my.cnf 後, 重新啟動 MySQL 便完成了。
1 f4 z$ }/ ?0 W, w7 C% c) o
4 ?% u) j! v- K- n$ I. q  b

! J! G& m7 l8 ?9 m" d& a4 l




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