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 就輕鬆很多了。
% W( W; H4 t  d- b# F1 j% F0 K5 P/ N. I. T0 a. g
要紀錄執行慢的 SQL 語句, 可以透過修改 my.cnf 完成, my.cnf 多數在以下位置:
; a1 w# B0 g8 S! W+ G/ V) D' {1 x6 i+ J0 @' ^- @) Z' o8 |
/etc/my.cnf, |2 i. A- j  l! y* t9 R
/etc/mysql/my.cnf
- s. ]; H) p2 x& w3 u/ b
- ?8 E% ]* x6 U2 X. e& \7 s; S先開啟 my.cnf, 在 [mysqld] 段落加入以下幾行:
& Q, G: m" L* U8 @1 I3 _3 [' z1 V' y
slow_query_log = 1: V- b5 {" c/ U- H  I  J- _
slow_query_log_file = /var/log/mysql-slow.log$ t6 T, v$ p! i) |9 {  t
long_query_time = 2
$ ~3 I, ]3 {+ X0 J
以上幾行的意思分別是:! ]# N$ P+ k8 i, L
& g! ?; G3 p' L% T/ W8 z4 b2 o: B4 x
slow_query_log = 1
3 U" ]' v( s  J& K( f開啟紀錄執行慢的 SQL 語句:
2 @# f" j8 u/ |/ f8 d7 N8 B0 f) H
) @( ]3 _4 h' Rslow_query_log_file = /var/log/mysql-slow.log
: n  [8 |& t' R- |) K3 H" c/ l設定紀錄檔的位置在 /var/log/mysql-slow.log. t$ W( u% A0 ?- F* V: t$ X
6 |+ ?0 T) F+ P' V/ p
long_query_time = 2
0 e# e3 B8 S3 U- A; a# k& b: W設定當 SQL 語句執行時間超過 2 秒時, 便會將 SQL 語句儲存。
$ f1 N! ^) |" Y2 m1 n% Q  R% J/ R; R
修改好 my.cnf 後, 重新啟動 MySQL 便完成了。
" _9 X, o+ w# S% q; o9 h
$ P/ {0 S+ d9 f9 v' L1 x7 R

0 m& A3 d5 F: F; h  T




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