MySQLバイナリログはUIDのロギングをサポートしていますか?
-
26-10-2019 - |
質問
MySQLバイナリログを使用して、DBを変更するユーザーのUID(ユーザー名)を記録する可能性があるかどうかを知りたいと思います。
これは監査目的に必要です。
それは可能ですか?
解決
それはバイナリログの目的ではありません - バイナリログは、通常、複製と回復の目的のために、データベースに行われたすべての変更の記録を保持します。
考えられる代替手段はそうかもしれません 一般的なクエリログ, 、それには何らかの方法でユーザー名が含まれていると思います。
これはすべて、アプリケーションの任意の「ユーザー」ではなく、実際の接続ユーザー名について話していると仮定しています。
これが私のログの1つから引き出した例です。
111130 13:46:50 130 Connect myusername@localhost on
130 Init DB mydatabase
130 Query SELECT somefields FROM sometable
130 Query SELECT somefields FROM sometable
130 Quit
ご覧のとおり、接続ユーザー名を取得し、その接続ID(この場合は130)を使用して、その接続のユーザーによるものです。
他のヒント
バイナリログは主に複製目的で使用されており、データの変更以外の副情報を保存することはできません。
表示可能なログを保存する場合(バイナリログはMySQLのみを使用できるように設計されているため)、保存するために追加のテーブルが必要です。プライマリテーブル +ユーザー +時間からのデータ。
また、ご覧ください クエリログ
所属していません StackOverflow