Поддерживает ли двоичный журнал MySQL протоколирование Uid? - PullRequest
1 голос
/ 30 ноября 2011

Я хотел бы знать, возможно ли использование MySQL Binary Log для записи Uid (имен пользователей) пользователей, которые вносят изменения в БД.

Это необходимо для целей аудита.

Возможно ли это?

Ответы [ 2 ]

1 голос
/ 30 ноября 2011

Двоичные журналы используются в основном для целей репликации, и они не позволяют хранить какую-либо дополнительную информацию, кроме изменений данных.

Если вы хотите хранить просматриваемые журналы (потому что двоичные журналы были разработаны таким образом, чтобы их можно было использоватьтолько mysql) вам понадобится дополнительная таблица для хранения: данных из основной таблицы + пользователь + время.

Также вы можете посмотреть Журнал запросов

1 голос
/ 30 ноября 2011

Это не то, для чего предназначен двоичный журнал - двоичный журнал хранит записи обо всех изменениях, внесенных в базу данных, обычно для целей репликации и восстановления.

Возможной альтернативой может быть общий журнал запросов , я полагаю, что он каким-то образом включает имя пользователя.

Все это предполагает, что вы говорите о реальных именах пользователей подключения, а не о каком-то произвольном «пользователе» в вашем приложении.

Вот пример, который я только что вытащил из одного из моих журналов:

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

Как видите, вы получаете имя пользователя для подключения, а затем все, что с этим идентификатором подключения (в данном случае 130), принадлежит этому пользователю в этом подключении.

...