8.4.5 MySQL 企业版审计
MySQL Enterprise Audit 是 MySQL 企业版的一种扩展,一个商业产品。要了解更多关于商业产品,请访问https://www.mysql.com/products/。
MySQL 企业版包括 MySQL 企业审计,使用名为 audit_log
的服务器插件实现。MySQL 企业审计使用开放的 MySQL 审计 API 来启用标准、基于策略的监控、日志记录和阻止特定 MySQL 服务器上的连接和查询活动。旨在满足 Oracle 审计规范,MySQL 企业审计为遵守内部和外部法规要求的应用程序提供了一个简单易用的审计和合规解决方案。
安装后,审核插件使 MySQL 服务器生成包含服务器活动记录的日志文件。日志内容包括客户端连接和断开时的时间,以及在连接期间执行的操作,例如访问的数据库和表。您可以添加查询的时间和大小统计来检测异常值。
默认情况下,MySQL 企业审计使用 mysql
系统数据库中的表来存储过滤器和用户账户数据。要使用不同的数据库,设置服务器启动时的 audit_log_database
系统变量。
安装审核插件后(见第8.4.5.2节,“安装或卸载 MySQL 企业审计”),它将写入审核日志文件。默认情况下,文件名为 audit.log
在服务器数据目录中。要更改文件名,设置服务器启动时的 audit_log_file
系统变量。
默认情况下,审计日志文件内容以新式XML格式写入,不压缩也不加密。要选择文件格式,在服务器启动时设置audit_log_format
系统变量。关于文件格式和内容的详细信息,请见第8.4.5.4节,“审计日志文件格式”。
关于控制日志记录的更多信息,包括审计日志文件命名和选择,请见第8.4.5.5节,“配置审计日志特性”。要对审计事件进行过滤,请见第8.4.5.7节,“审计日志过滤”。要了解配置审计日志插件的参数,请见审计日志选项和变量。
如果启用了审计日志插件,性能_schema(见MySQL性能_schema)对其进行了instrumentation。要确定相关的工具,请使用以下查询:
SELECT NAME FROM performance_schema.setup_instruments
WHERE NAME LIKE '%/alog/%';