Spec-Zone.ru › MySQL 9.2

8.4.5.2 Установка или удаление MySQL Enterprise Audit

В этом разделе описано, как установить или удалить MySQL Enterprise Audit, который реализован с помощью плагина журнала аудита и связанных элементов, описанных в разделе 8.4.5.1 «Элементы MySQL Enterprise Audit». Общие сведения об установке плагинов см. в разделе 7.6.1 «Установка и удаление плагинов».

При обновлении MySQL установка плагинов не происходит автоматически, и некоторые загружаемые функции плагина должны быть загружены вручную (см. Установка загружаемых функций). В качестве альтернативы вы можете переустановить плагин после обновления MySQL для загрузки новых функций.

Важно

Перед выполнением инструкций прочтите весь раздел. Некоторые части процедуры отличаются в зависимости от вашей среды.

Примечание

Если установлен, плагин audit_log создаёт некоторую минимальную нагрузку даже при отключении. Чтобы избежать этой нагрузки, не устанавливайте MySQL Enterprise Audit, если вы не планируете его использовать.

Для использования плагина библиотечным файлом необходимо разместить его в каталоге плагинов MySQL (каталог, указанный переменной системы plugin_dir). При необходимости, настройте расположение каталога плагинов, установив значение переменной plugin_dir при запуске сервера.

Чтобы установить MySQL Enterprise Audit, найдите каталог share в вашей установке MySQL и выберите подходящий скрипт для вашей платформы. Доступные скрипты отличаются именем файла, используемым для ссылки на скрипт:

  • audit_log_filter_win_install.sql

  • audit_log_filter_linux_install.sql

Запустите скрипт следующим образом. В этом примере используется скрипт установки для Linux и базу данных по умолчанию mysql. Произведите соответствующую замену для вашей системы.

$> mysql -u root -p -D mysql < audit_log_filter_linux_install.sql
Enter password: (enter root password here)

При запуске скрипта установки можно указать пользовательскую базу данных для хранения таблиц фильтров JSON. Создайте базу данных предварительно; её имя не должно превышать 64 символа. Например:

mysql> CREATE DATABASE IF NOT EXISTS database-name;

Затем запустите скрипт, используя альтернативное имя базы данных.

$> mysql -u root -p -D database-name < audit_log_filter_linux_install.sql
Enter password: (enter root password here)
Примечание

В некоторых версиях MySQL были внесены изменения в структуру таблиц MySQL Enterprise Audit. Чтобы убедиться, что ваши таблицы обновлены для обновлений с предыдущих версий MySQL, выполните процедуру обновления MySQL, убедившись, что используется опция принудительного обновления (см. главу 3, «Обновление MySQL»). Если вы предпочитаете выполнять операторы обновления только для таблиц MySQL Enterprise Audit, см. обсуждение ниже.

В новых установках MySQL столбцы USER и HOST в таблице audit_log_user, используемой MySQL Enterprise Audit, имеют определения, которые лучше соответствуют определениям столбцов User и Host в системной таблице mysql.user. Для обновлений установок, в которых MySQL Enterprise Audit уже установлен, рекомендуется изменить определения таблиц следующим образом:

ALTER TABLE mysql.audit_log_user
  DROP FOREIGN KEY audit_log_user_ibfk_1;
ALTER TABLE mysql.audit_log_filter
  CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_ci;
ALTER TABLE mysql.audit_log_user
  CONVERT TO CHARACTER SET utf8mb4 COLLATE utf8mb4_0900_as_ci;
ALTER TABLE mysql.audit_log_user
  MODIFY COLUMN USER VARCHAR(32);
ALTER TABLE mysql.audit_log_user
  ADD FOREIGN KEY (FILTERNAME) REFERENCES mysql.audit_log_filter(NAME);
Примечание

Чтобы использовать MySQL Enterprise Audit в контексте репликации source/replica, Group Replication или InnoDB Cluster, необходимо подготовить узлы реплики перед запуском скрипта установки на узле source. Это необходимо, потому что оператор INSTALL PLUGIN в скрипте не реплицируется.

  1. На каждом узле реплики извлеките оператор INSTALL PLUGIN из скрипта установки и выполните его вручную.

  2. На узле source запустите скрипт установки, как описано ранее.

Чтобы проверить установку плагина, просмотрите таблицу схемы информации PLUGINS или используйте оператор SHOW PLUGINS (см. раздел 7.6.2 «Получение информации о плагинах сервера»). Например:

mysql> SELECT PLUGIN_NAME, PLUGIN_STATUS
       FROM INFORMATION_SCHEMA.PLUGINS
       WHERE PLUGIN_NAME LIKE 'audit%';
+-------------+---------------+
| PLUGIN_NAME | PLUGIN_STATUS |
+-------------+---------------+
| audit_log   | ACTIVE        |
+-------------+---------------+

Если плагин не удалось инициализировать, проверьте журнал ошибок сервера на наличие диагностических сообщений.

После установки MySQL Enterprise Audit вы можете использовать опцию --audit-log для последующих запусков сервера, чтобы управлять активацией плагина audit_log. Например, чтобы предотвратить удаление плагина во время работы, используйте эту опцию:

[mysqld]
audit-log=FORCE_PLUS_PERMANENT

Если необходимо предотвратить запуск сервера без плагина аудита, используйте --audit-log со значением FORCE или FORCE_PLUS_PERMANENT, чтобы принудительно завершить запуск сервера, если плагин не удалось инициализировать.

Важно

По умолчанию, фильтрация журнала аудита на основе правил не регистрирует аудируемые события для любых пользователей. Это отличается от поведения устаревшего журнала аудита, который регистрирует все аудируемые события для всех пользователей (см. раздел 8.4.5.10 «Фильтрация журнала аудита в устаревшем режиме»). Если вы хотите получить поведение «регистрации всего» с фильтрацией на основе правил, создайте простой фильтр для включения регистрации и назначьте его по умолчанию:

SELECT audit_log_filter_set_filter('log_all', '{ "filter": { "log": true } }');
SELECT audit_log_filter_set_user('%', 'log_all');

Фильтр, назначенный %, используется для соединений от любых учетных записей, которым не назначен явным образом фильтр (изначально это верно для всех учетных записей).

При установке, как описано выше, MySQL Enterprise Audit остаётся установленным до его удаления. Чтобы удалить его, запустите скрипт удаления, расположенный в каталоге share вашей установки MySQL. В этом примере используется база данных по умолчанию mysql. Произведите соответствующую замену для вашей системы.

$> mysql -u root -p -D mysql < audit_log_filter_uninstall.sql
Enter password: (enter root password here)

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-9.2-en/audit-log-installation.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API