1. 程式人生 > >mysql開啟日誌、檢視歷史語句

mysql開啟日誌、檢視歷史語句

mysql檢視歷史執行的sql

 

檢視mysql的語句,比較常用的大概是show processlist 命令了,但是這個對於查詢時間比較長的語句比較有意義,對於一下子就能執行的語句真心拼不過手速啊.

於是就只能從mysql的歷史記錄裡面著手了.為了實現這個目的,我們需要修改/etc/my.cnf檔案.

在my.cnf中的[mysqld](其他地方可能無效)下插入log=/etc/tmp/mysql.log(日誌的地址可以自己定義,不過不要在home裡面,否則可能顯示不出來,主要要有寫的許可權).然後要重啟資料庫,用service mysqld restart命令就可以了.這個log會將所有的執行語句記錄下來,所以在資料庫很忙的時候,這個日誌可能變得很大,不宜檢視.

用tail -f /etc/tmp/mysql.log 命令可以持續觀察執行語句,也可以將該檔案下載下來慢慢看.

=========================================

另外還有一個慢查詢歷史記錄,也在my.cnf檔案裡,配置語句為

?1234 log-slow-queries=/var/lib/mysql/slowquery.log long_query_time=5 log-queries-not-using-indexes

其中log-slow-queries是慢查詢歷史記錄的地址,long_query_time限定超過X秒才能加入到歷史記錄裡面,log-queries-not-using-indexes限定沒有使用索引的查詢語句.

這個日誌由於記錄語句不多,所以可以長期開啟.