MySQL Error number: MY-013478; Symbol: ER_AUDIT_LOG_SUPER_PRIVILEGE_REQUIRED; SQLSTATE: HY000

文档解释

Error number: MY-013478; Symbol: ER_AUDIT_LOG_SUPER_PRIVILEGE_REQUIRED; SQLSTATE: HY000

Message: SUPER privilege or AUDIT_ADMIN role required for ‘%s’@’%s’ user.

错误说明

MySQL的ER_AUDIT_LOG_SUPER_PRIVILEGE_REQUIRED错误表示审核日志功能需要超级用户权限。这个错误来自Audit Plugin,它是MySQL 5.6中引入的安全功能,可以记录审核日志。允许跟踪来自指定用户和会话的何种活动。

常见案例

当用户尝试启用审核日志记录功能时,可能会遇到ER_AUDIT_LOG_SUPER_PRIVILEGE_REQUIRED错误,这是因为只有超级用户才能完全启用和使用Audit Plugin。例如,当一个非超级用户尝试执行以下DML语句时,可能会发生此错误:

SET GLOBAL audit_log_file=’audit.log’;

解决方法

一般处理方法及步骤

1. 使用超级用户凭据登录MySQL服务器;

2. 启用 audit_log 插件:INSTALL PLUGIN audit_log SONAME 'audit_log.so’;

3. 指定要记录的审核日志文件:set GLOBAL audit_log_file=’audit.log’;

4. 指定要记录的审核日志类型:set GLOBAL audit_log_format=MIXED (请参阅MySQL文档以获取可用的审核日志格式);

5. 启用审核日志:set GLOBAL audit_log_policy=ALL;

6. 禁用 audit_log 插件:UNINSTALL PLUGIN audit_log;

7. 重新登录以使设置生效。

完成以上步骤后,可以在指定的审核日志文件中查看审核日志消息。此外,也可以通过查看mysql.audit_log表来检查审核日志消息。

你可能感兴趣的