1.安装mysql5.7(略)
2.下载并解压mariadb 10.2.29
3.复制插件及修改权限
检查系统支持的最大glibc版本
# strings /lib64/libc.so.6 |grep GLIBC_
将/mariadb-10.2.29/lib/plugin/server_audit.so 复制到 /mysql/lib/plugin/server_audit.so
chown -R mysql:mysql /mysql/lib/plugin/server_audit.so
4.在mysql中添加审计插件(动态添加,无需重启)
mysql> INSTALL PLUGIN server_audit SONAME 'server_audit.so';
mysql> show global variables like '%audit%';
参数说明:
变量名 | 动态 | 选项 | 作用 |
server_audit_events | 是 | CONNECT, QUERY, TABLE, QUERY_DDL, QUERY_DML, QUERY_DCL, QUERY_DML_NO_SELECT,默认空,记录所有 | 日志记录类型,设置了值之后只会记录指定的类型,其他类型不会记录 |
server_audit_excl_users | 是 | 字符串,多个用逗号,默认空 | 不记录的审计日志的用户 |
server_audit_file_path | 是 | server_audit.log | 审计日志文件位置,注意目录权限 |
server_audit_file_rotate_now | 是 | 0或1,默认0 | 是否现在强制切换审计日志文件 |
server_audit_file_rotate_size | 是 | 数字,默认1000000 | 每次轮换日志大小,单位字节 |
server_audit_file_rotations | 是 | 0-999,默认9 | 轮换日志文件个数,设成0时,将不会进行日志轮换 |
server_audit_incl_users | 是 | 字符串,多个用逗号,默认空 | 记录审计日志的用户 |
server_audit_logging | 是 | 0或1,默认0 | 是否开启审计日志功能 |
server_audit_output_type | 是 | SYSLOG或FILE,默认FILE | 审计日志输出类型 |
server_audit_query_log_limit | 是 | 0-2147483647,默认1000 | 记录单条查询的最大长度 |
|
|
|
|
server_audit_loc_info | 否 |
| 对用户没有意义 |
server_audit_mode |
|
| 对用户没有意义 |
server_audit_syslog_facility | 是 |
| SYSLOG变量 |
server_audit_syslog_ident | 是 |
| SYSLOG变量 |
server_audit_syslog_info | 是 |
| SYSLOG变量 |
server_audit_syslog_priority | 是 |
| SYSLOG变量 |
5.开启审计日志功能(动态修改,无需重启)
mysql> SET GLOBAL server_audit_output_type='FILE';
mysql> SET GLOBAL server_audit_file_path='server_audit.log'; ##注意目录权限,可以指定绝对路径
mysql> SET GLOBAL server_audit_file_rotate_size=134217728; #128M
mysql> SET GLOBAL server_audit_file_rotations=9;
mysql> SET GLOBAL server_audit_events='QUERY_DML_NO_SELECT';
mysql> SET GLOBAL server_audit_query_log_limit=2000;
mysql> SET GLOBAL server_audit_logging=ON;
6.关闭审计日志功能(动态修改,无需重启)
mysql> SET GLOBAL server_audit_logging=OFF;