Ведение запросов MySQL с пользователем PHP - PullRequest
0 голосов
/ 29 июня 2018

Нам нужно регистрировать запросы SQL, которые выполняются пользователями в проекте PHP - запрос и идентификатор пользователя php. Мы заботимся о вставке, обновлении и удалении.

  1. Я знаю о общем журнале MySQL, но наш системный администратор не рекомендует этого из-за низкой производительности.

  2. Второй вариант - регистрация на уровне PHP, но существует проблема, когда кто-то использует тот же логин mysql для доступа к базе данных из другого проекта. Или от PhpMyAdmin. Таким образом, эти изменения не будут отслежены.

  3. Третий вариант, возможно, лучший, это триггеры MySQL. Но есть проблема - я не знаю, как передать идентификатор пользователя PHP для триггера, чтобы записать это.

Я попытался настроить триггеры следующим образом:

  1. Регистрация полного запроса: Согласно get-full-mysql-query-string-on-insert-or-update , я могу получить полный запрос выполненным от INFORMATION_SCHEMA.

  2. Идентификатор пользователя журнала: Я попытался передать идентификатор пользователя с помощью переменных MySQL. Как я должен вызывать SET @phpUserId = 123; перед каждым выполненным запросом. Затем триггер успешно принимает переменную @phpUserId. Но у меня проблема с переменными MySQL, описанными в pass-php-variable-to-mysql-trigger-nette .

TL; DR: Есть ли способ, как эффективно и без проблем выполнять журнал выполненных запросов с идентификатором пользователя от php.

...