2016-01-15 174 views
1

有沒有什麼辦法可以檢查MySql數據庫中發生的查詢?在MySql中查詢的歷史記錄

例如: 我有一個應用程序(OTRS),允許您根據所需的幀生成報告。我想知道應用程序在數據庫中進行了哪個查詢。

因爲我會用它來與其他報告軟件集成。

這可能嗎?

+4

http://dev.mysql.com/doc/refman/5.7/en/query-log.html(只是不讓它在生產中,它會快速填滿) – ceejayoz

回答

0

是的,你可以在MySQL服務器中啓用日誌記錄功能。有幾種類型的日誌可供您使用,具體取決於您想要記錄的內容,僅從錯誤或緩慢的查詢開始,以及記錄所有在您的服務器上完成的日誌。

查看完整的文檔here

0

雖然,正如尼爾說,MySQL能夠記錄所有的查詢(你應該看綜合記錄或0秒的門檻設置慢日誌),這將顯示所有的查詢正在運行;在生產系統上,可能難以將您在瀏覽器中執行的操作與日誌中的特定條目進行匹配。

我建議使用慢速查詢日誌的原因是,有些工具可以從查詢中刪除參數,讓您看到更頻繁運行的SQL代碼。

如果您對Perl有一定的熟練程度,那麼應該直接輸出 - 處理所有查詢via an abstraction layer

(想必大家都知道,在schema is published