Вопрос

Я хотел бы знать, возможно ли использовать бинарный журнал MySQL для записи UID (имен пользователей) пользователей, которые вносят изменения в DB.

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

Это возможно?

Это было полезно?

Решение

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

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

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

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

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) от этого пользователя на этом соединении.

Другие советы

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

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

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top