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 就輕鬆很多了。
, u3 r; s: {# w4 E! c* i" P
: u9 h7 [/ A: {& }* `9 c* I4 I- z要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:& D- M4 x* U2 s; I: ?3 I

4 c" \6 a3 L. s' y6 A% T  r$ l/etc/my.cnf- h' Q: J: V6 O$ N
/etc/mysql/my.cnf+ }" A8 L. d; f; Q7 \! @
9 ^6 L6 \" N1 E
先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:6 J& G) \. _+ B8 R+ T9 r
slow_query_log = 12 h* C0 N, P8 x
slow_query_log_file = /var/log/mysql-slow.log' T2 S% L; [, e9 Y7 ~; U
long_query_time = 2

# `+ Z, U6 V0 Y! [; T; L$ J7 T/ @1 f以上幾行的意思分別是:
/ `" W2 n% n5 T2 ]
, B$ v2 T% V" b! u4 `slow_query_log = 1$ r- c+ V' p$ Q8 ~) L& I- o9 c
開啟紀錄執行慢的 SQL 語句:
; T0 m1 Q, [  z' i* j$ V# n+ j" [! c" E7 g, _% S3 m7 {
slow_query_log_file = /var/log/mysql-slow.log4 }+ Y* ~) L  L9 `! h, ~- l
設定紀錄檔的位置在 /var/log/mysql-slow.log8 K4 E  K/ y- M5 `  `7 r
8 m$ v+ ]' c; I5 M# t5 H
long_query_time = 2
" Q  N! |6 N  x# o設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。4 ^% r% l( X- S% D- @& Z
% V) T" v1 V* ^/ c" ?4 U
修改好 my.cnf 後, 重新啟動 MySQL 便完成了。
8 |4 x# W# f9 ]) Z, L; x

5 X" ]" u& c& o7 L6 l. q9 M  Q7 |8 L& p& c





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