MySQL:僅記錄刪除/建立命令

MySQL:僅記錄刪除/建立命令

有沒有辦法只記錄某些 MySQL 操作?

我需要在生產伺服器中啟用它的登錄,但僅限於刪除/建立命令。不幸的是,記錄一切都很慢,我只需要這些特定的命令。

答案1

沒有複雜的方法在 mysql 中記錄查詢。您唯一可以做的就是以下操作:

通用查詢日誌是mysqld所做事情的一般記錄。當用戶端連線或中斷連線時,伺服器會將資訊寫入此日誌,並記錄從用戶端接收到的每個 SQL 語句。當您懷疑客戶端中存在錯誤並想要準確了解客戶端發送到 mysqld 的內容時,常規查詢日誌可能非常有用。

http://dev.mysql.com/doc/refman/5.1/en/query-log.html

答案2

你可以嘗試開啟binlog。它不會像常規日誌那樣嚴重影響您的效能[僅記錄更改資料的命令]。但如果您想記錄發出 drop 命令的 ip,則它可能不適合您的需求。

答案3

有一個非常漂亮的解決方法。只需將tail的輸出傳遞給grep,例如這樣:

$ tail -f /var/log/mysql/mysql.log | grep "update "

相關內容