有沒有辦法只記錄某些 MySQL 操作?
我需要在生產伺服器中啟用它的登錄,但僅限於刪除/建立命令。不幸的是,記錄一切都很慢,我只需要這些特定的命令。
答案1
沒有複雜的方法在 mysql 中記錄查詢。您唯一可以做的就是以下操作:
通用查詢日誌是mysqld所做事情的一般記錄。當用戶端連線或中斷連線時,伺服器會將資訊寫入此日誌,並記錄從用戶端接收到的每個 SQL 語句。當您懷疑客戶端中存在錯誤並想要準確了解客戶端發送到 mysqld 的內容時,常規查詢日誌可能非常有用。
答案2
你可以嘗試開啟binlog。它不會像常規日誌那樣嚴重影響您的效能[僅記錄更改資料的命令]。但如果您想記錄發出 drop 命令的 ip,則它可能不適合您的需求。
答案3
有一個非常漂亮的解決方法。只需將tail
的輸出傳遞給grep
,例如這樣:
$ tail -f /var/log/mysql/mysql.log | grep "update "