共计 3152 个字符,预计需要花费 8 分钟才能阅读完成。
这篇文章给大家分享的是有关 MySQL5.7 审计功能 windows 系统有什么用的内容。丸趣 TV 小编觉得挺实用的,因此分享给大家做个参考,一起跟随丸趣 TV 小编过来看看吧。
MySQL5.7 审计功能 windows 系统
MySQL 的审计功能,主要可以记录下对数据库的所有操作,包括登录、连接、对表的增删改查等,便于责任追溯,问题查找,当然一定方面也会影响数据库效率。根据 MySQL 版本的不同有两种分为企业版和社区版,审计功能目前在网上找到的基本都是基于 linux 系统的很崩溃(公司基于 Windows),为了下载一个 windows 系统的插件找了好久。本文主要讲解的是基于 windows 系统的
a、企业版 MySQL Enterprise Edition(收费)自带 AUDIT 审计功能。
b、社区版 MySQL Community Server(免费)需要自己下载插件。
为社区版提供审计的插件的主要有以下三个 McAfee MySQL Audit Plugin、Percona Audit Log Plugin、MariaDB Audit Plugin。
这里主要讲述:
MariaDB Audit Plugin
MariaDB 官网下载对应版本的安装包,从安装包中获得版本对应的.dll 插件(linux 系统.so 插件),拷贝到到自己的 mysql 插件库下,安装插件,开启审计功能,配置 my.ini 文件。具体说明如下、
1、MySQL 与 MariaDB 的版本对应很重要,之前这上面吃了大亏。低版本的容易导致数据库奔溃,选择的是 5.7.21 版本的 mysql 数据库、MariaDB 的版本是 5.5.57
下载路径
https://downloads.mariadb.org/mariadb/5.5/
。
2、从该路径下获得对应的 mysql 插件(server_audit.dll),在 mariadb-5.5.57-winx64\lib\plugin\ 目录下。复制到对应的 MySQL 插件库中 C:\Program Files\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;主要看你的 ProgramData 目录在什么位置
可从中查看各项操作,可以发现什么时间那个用户执行了什么操作,便于责任追究。
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=200000001
server_audit_file_rotations=200
server_audit_file_rotate_now=ON
10、卸载 mysql 审计插件,执行如下命令。
mysql UNINSTALL PLUGIN server_audit;
mysql show variables like %audit%
Empty set (0.00 sec)
重要:
在 server_audit 插件安装好后,并且已经运行之后添加这些配置,否则过早添加容易导致数据库服务无法正常启动
参数配置说明:
详细请参考:https://mariadb.com/kb/en/mariadb/server_audit-system-variables/
server_audit_output_type:指定日志输出类型,可为 SYSLOG 或 FILE
server_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:标识版本,用于开发测试
感谢各位的阅读!关于“MySQL5.7 审计功能 windows 系统有什么用”这篇文章就分享到这里了,希望以上内容可以对大家有一定的帮助,让大家可以学到更多知识,如果觉得文章不错,可以把它分享出去让更多的人看到吧!