MySQL 安装 MariaDB Audit Plugin 插件,实现审计日志输出

前言:
这几天系统用户突然登不上去了,不知道如何产生的原因,只能先修复好问题 。为了定位问题,永久解决,所以需要安装审计插件,将MySQL语句统一输出到文件中,方便分析解决问题 。
环境说明:
centos 7,MySQL 5.7.30
参考资料:
https://mariadb.com/resources/blog/introducing-the-mariadb-audit-plugin/
一、下载安装MariaDB Audit Plugin插件1、下载下载地址:https://downloads.mariadb.org/mariadb/5.5.64/ 。
2、安装1)查看 MySQL 插件地址
# 登陆mysql后,执行
mysql> show variables like '%plugin%';
输出地址为:/usr/lib64/mysql/plugin/。2)获取 server_audit.os 文件
在上述压缩包中找到 server_audit.os 文件
MySQL 安装 MariaDB Audit Plugin 插件,实现审计日志输出

文章插图
 
3)将 server_audit.so 文件拷贝到 /usr/lib64/mysql/plugin/ 目录下 。
4)执行插件安装操作
mysql> INSTALL PLUGIN server_audit SONAME 'server_audit.so';5)验证
mysql> show variables like '%audit%';
MySQL 安装 MariaDB Audit Plugin 插件,实现审计日志输出

文章插图
 
二、开启审计日志功能1、审计参数说明
  • server_audit_logging:启动或关闭审计
  • server_audit_file_path:审计日志位置
  • server_audit_events:指定记录事件的类型,可以用逗号分隔的多个值(connect,query,table),默认为空代表审计所有事件 。
  • server_audit_incl_users:指定哪些用户的活动将记录,默认审计所有用户,该变量比 server_audit_excl_users 优先级高
  • server_audit_excl_users:指定哪些用户行为不记录
  • server_audit_output_type:指定日志输出类型,可为 SYSLOG 或 FILE,缺省输出至审计文件
  • server_audit_file_rotate_size:日志文件大小,单位为 byte。
  • server_audit_file_rotations:日志文件数量的最大值,默认为 9 个 。
2、开始审计日志1)临时开启并临时设置审计日志文件路径
mysql> set global server_audit_logging=on;
mysql> set global server_audit_file_path='/opt/audit/server_audit.log';
mysql> set GLOBAL server_audit_file_rotations=10;
mysql> set GLOBAL server_audit_file_rotate_size=1073741824;
【MySQL 安装 MariaDB Audit Plugin 插件,实现审计日志输出】服务一重启,则配置过期 。
2)永久开启并设置审计日志文件路径
# 修改 mysql 配置文件:/etc/my.cnf
# 在[mysqld]标签下添加:
server_audit_logging=ON
server_audit_file_path=/opt/audit/server_audit111.log
server_audit=FORCE_PLUS_PERMANENT  # 防止审计插件被卸载
server_audit_file_rotate_size=1G
server_audit_file_rotations=10
# 修改完配置文件后,记得重启 mysql 服务
service mysqld restart3、查看审计日志文件tail -f /opt/audit/server_audit111.log
MySQL 安装 MariaDB Audit Plugin 插件,实现审计日志输出

文章插图
 
ok了,如果问题复现,可以根据这个日志文件来定位分析问题 。


    推荐阅读