搜索
您的当前位置:首页正文

mysql5.7添加审计功能audit_log在windows系统

来源:筏尚旅游网
mysql5.7添加审计功能audit_log在windows系统

mysql的审计功能,主要可以记录下对数据库的所有操作,包括登录、连接、对表的增删改查等,便于责任追溯,问题查找,当然⼀定⽅⾯也会影响数据库效率。根据mysql版本的不同有两种分为企业版和社区版,审计功能⽬前在⽹上找到的基本都是基于linux系统的很崩溃,为了下载⼀个windows系统的插件楼主找了好久。本⽂主要讲解的是基于windows系统的。a、企业版 MySQL Enterprise Edition(收费)⾃带AUDIT审计功能。b、社区版 MySQL Community Server(免费)需要⾃⼰下载插件。

为社区版提供审计的插件的主要有以下三个 McAfee MySQL Audit Plugin、Percona Audit Log Plugin、MariaDB Audit Plugin。第⼆个了解不多。

第三个是本⽂主要说明的,主要思路,通过MariaDB官⽹下载对应版本的安装包,从安装包中获得版本对应的.dll插件(linux系统.so插件),拷贝到到⾃⼰的mysql插件库下,安装插件,开启审计功能,配置my.ini⽂件。具体说明如下:

2、从该路径下获得对应的mysql插件(server_audit.dll),...\\mariadb-5.5.57-winx64\\lib\\plugin。复制到对应的mysql插件库中..\\ProgramFiles\\MySQL\\MySQL Server 5.7\\lib\\plugin。

3、登⼊mysql执⾏如下命令,可以查看mysql数据对应的插件⽂件存放位置。mysql> SHOW GLOBAL VARIABLES LIKE 'plugin_dir';4、执⾏如下命令安装审计插件。

mysql> INSTALL PLUGIN server_audit SONAME 'server_audit.dll';5、安装成功,通过如下命令可以查看初始化参数配置。mysql> show variables like '%audit%';

6、执⾏如下命令开启mysql审计功能,详细配置参数说明见⽂章结尾。备注:指定哪些操作被记录到⽇志⽂件中

set global server_audit_events='CONNECT,QUERY,TABLE,QUERY_DDL'备注:开启审计功能

set global server_audit_logging=on

备注:默认存放路径,可以不写,默认到data⽂件下set global server_audit_file_path =/data/mysql/auditlogs/备注:设置⽂件⼤⼩

set global server_audit_file_rotate_size=200000000指定⽇志⽂件的数量,如果为0⽇志将从不轮转set global server_audit_file_rotations=200强制⽇志⽂件轮转

set global server_audit_file_rotate_now=ON

7、执⾏完上述命令,show variables like '%audit%';可查看审计配置说明。

8、可到data⽂件下查看⽇志⽂件server_audit.log。默认⽂件路径C:\\ProgramData\\MySQL\\MySQL Server 5.7\\Data,可从中查看各项操作,可以发现什么时间那个⽤户执⾏了什么操作,便于责任追究。

9、在控制台中⽤命令⾏配置的参数只对本次服务有效果,服务重启配置全部初始化了,因此想长久配置需要再my.ini⽂件

(C:\\ProgramData\\MySQL\\MySQL Server 5.7)中添加相应的配置信息。配置信息如下,需要更多参数的可⾃⾏添加。需要添加到[mysqld]下⽅,重启服务配置⽣效。

#备注:防⽌server_audit 插件被卸载server_audit=FORCE_PLUS_PERMANENT

#备注:指定哪些操作被记录到⽇志⽂件中

server_audit_events='CONNECT,QUERY,TABLE,QUERY_DDL'server_audit_logging=on

server_audit_file_rotate_size=200000001server_audit_file_rotations=200

server_audit_file_rotate_now=ON10、卸载mysql审计插件,执⾏如下命令。mysql> UNINSTALL PLUGIN server_audit;mysql> show variables like '%audit%';Empty set (0.00 sec)

11、在server_audit插件安装好后,并且已经运⾏之后添加这些配置,否则过早添加容易导致数据库服务⽆法正常启动

12、参数配置说明

详细请参考:https://mariadb.com/kb/en/mariadb/server_audit-system-variables/server_audit_output_type:指定⽇志输出类型,可为SYSLOG或FILEserver_audit_logging:启动或关闭审计

server_audit_events:指定记录事件的类型,可以⽤逗号分隔的多个值(connect,query,table),如果开启了查询缓存(query cache),查询直接从查询缓存返回数据,将没有table记录

server_audit_file_path:如server_audit_output_type为FILE,使⽤该变量设置存储⽇志的⽂件,可以指定⽬录,默认存放在数据⽬录的server_audit.log⽂件中

server_audit_file_rotate_size:限制⽇志⽂件的⼤⼩

server_audit_file_rotations:指定⽇志⽂件的数量,如果为0⽇志将从不轮转server_audit_file_rotate_now:强制⽇志⽂件轮转

server_audit_incl_users:指定哪些⽤户的活动将记录,connect将不受此变量影响,该变量⽐server_audit_excl_users优先级⾼server_audit_syslog_facility:默认为LOG_USER,指定facility

server_audit_syslog_ident:设置ident,作为每个syslog记录的⼀部分server_audit_syslog_info:指定的info字符串将添加到syslog记录server_audit_syslog_priority:定义记录⽇志的syslogd priority

server_audit_excl_users:该列表的⽤户⾏为将不记录,connect将不受该设置影响server_audit_mode:标识版本,⽤于开发测试

转载⾃https://blog.csdn.net/lq18050010830/article/details/78031056

因篇幅问题不能全部显示,请点此查看更多更全内容

Top