2016-09-29 65 views
0

我正在處理一個很多人蔘與的大項目。我們使用相同的MySQL數據庫進行開發。問題是我怎麼能知道誰有做了什麼(插入,更新,刪除,運行查詢等等)在數據庫上,什麼時候他們做完了,他們做了什麼。假設每個人都有不同的帳戶。在mysql中記錄用戶操作

回答

1

您可以使用通用日誌記錄。

它會記錄客戶端連接,斷開連接和查詢在數據庫上運行的詳細信息。

要打開它,設置在my.cnf以下屬性:

general_log_file = /path/to/query.log 
general_log  = 1 

或者,您也可以從控制檯設置:

SET global general_log = 1; 

參見:http://dev.mysql.com/doc/refman/5.7/en/query-log.html

+0

好的。我認爲這應該很好。 –

1

您必須遍歷所有的函數或過程,並使它們適應插入/更新「最後一個編輯器」標識符,併爲該表添加該標識符的字段。沒有簡單的方法。

+0

如果什麼有人執行純查詢,如更新表中的某些行。我可以知道誰已經運行了該查詢嗎?那是什麼問題? 我想在這裏做的是記錄用戶在處理數據庫時的每個動作。 –

+0

這裏相當徹底的檢查:http://dba.stackexchange.com/questions/112128/how-to-know-which-user-update-insert-or-delete-in-mysql-database –