Mysql5.7 添加审计插件(mariadb)
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;