亚洲在线久爱草,狠狠天天香蕉网,天天搞日日干久草,伊人亚洲日本欧美

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何啟用MySQL查詢日志?

如何啟用MySQL查詢日志?

縹緲止盈 2019-07-05 09:57:28
如何啟用MySQL查詢日志?如何啟用MySQL函數來記錄從客戶端收到的每個SQL查詢語句以及查詢語句提交的時間?我可以在phpmyadmin或NaviCat中這樣做嗎?如何分析日志?
查看完整描述

3 回答

?
大話西游666

TA貢獻1817條經驗 獲得超14個贊

看一下另一個相關問題的答案。它展示了如何在不重新啟動的情況下啟用、禁用和查看活動服務器上的日志。

在MySQL中記錄所有查詢


以下是一個總結:

如果不希望或不能重新啟動MySQL服務器,則可以在正在運行的服務器上進行如下操作:

  • 創建日志表(請參見回答)

  • 啟用數據庫上的查詢日志記錄(請注意,字符串“表”應按字面順序放置,而不應被任何表名所取代。謝謝尼古拉斯·皮克林)

SET global general_log = 1;SET global log_output = 'table';
  • 查看日志
select * from mysql.general_log;
  • 禁用數據庫上的查詢日志記錄
SET global general_log = 0;


查看完整回答
反對 回復 2019-07-05
?
暮色呼如

TA貢獻1853條經驗 獲得超9個贊

當我想快速優化不同的頁面加載時,我使用此方法進行日志記錄。這是個小提示.。

登錄到表

SET global general_log = 1;SET global log_output = 'table';

然后,您可以從我的mysql.general_log表檢索最近的查詢。

然后我可以做一些類似的事情tail -f在mysql.log上,但是有了更多的改進.。

select * from mysql.general_log 
where  event_time  > (now() - INTERVAL 8 SECOND) and thread_id not in(9 , 628)and argument <> "SELECT 1" and argument <> ""
 and argument <> "SET NAMES 'UTF8'"  and argument <> "SHOW STATUS"  and command_type = "Query"  and argument <> "SET PROFILING=1"

這使得我很容易看到我可以嘗試減少的查詢。我只使用8秒間隔來獲取在最后8秒內執行的查詢。


查看完整回答
反對 回復 2019-07-05
  • 3 回答
  • 0 關注
  • 817 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯系客服咨詢優惠詳情

幫助反饋 APP下載

慕課網APP
您的移動學習伙伴

公眾號

掃描二維碼
關注慕課網微信公眾號