北京网站制作公司招聘信息,天津西青区属于什么风险区,宁波手机网站建设,做文案策划有些网站可看目录标题 MySQL 审计级别配置指南一、当前环境审计配置1.1 已安装的审计插件1.2 当前审计参数 二、Percona Audit Plugin 审计级别详解Policy 对照表 三、各级别详细说明Level 0: NONE#xff08;关闭审计#xff09;Level 1: LOGINS#xff08;基础审计#xff09;Level 2…目录标题MySQL 审计级别配置指南一、当前环境审计配置1.1 已安装的审计插件1.2 当前审计参数二、Percona Audit Plugin 审计级别详解Policy 对照表三、各级别详细说明Level 0: NONE关闭审计Level 1: LOGINS基础审计Level 2: QUERIES增强审计Level 3: ALL全量审计四、审计日志字段说明JSON 格式字段五、高级配置技巧5.1 排除特定账户审计5.2 只审计特定数据库5.3 只审计特定 SQL 类型5.4 日志轮转配置六、生产环境建议6.1 通用生产库99% 场景6.2 核心业务 / 金融 / 电力6.3 不推荐配置七、审计 vs 其他日志八、常见问题Q1: 为什么 LOGINS 级别还记录 QueryQ2: 如何临时关闭审计Q3: 审计文件满了怎么办Q4: 审计影响有多大九、配置模板等保合规配置my.cnfMySQL 审计级别配置指南基于 145 环境 mysql-0d130fde 实例验证实例信息集群x.x.x.145命名空间qfusion-admin插件Percona Audit Plugin (audit_log.so)MySQL 版本8.0.35一、当前环境审计配置1.1 已安装的审计插件audit_log ACTIVE AUDIT audit_log.so GPL1.2 当前审计参数参数值说明audit_log_policyALL当前审计级别全量audit_log_formatJSON日志格式audit_log_file/var/log/mysql/audit.log日志文件路径audit_log_rotate_on_size536870912 (512MB)日志轮转大小audit_log_rotations10保留日志文件数量audit_log_strategyASYNCHRONOUS异步写入策略audit_log_buffer_size1048576 (1MB)缓冲区大小audit_log_max_sqltext2048SQL最大记录长度audit_log_exclude_accountsroot%,rootlocalhost,repl%,排除审计账户audit_log_display_query_timeON显示查询耗时二、Percona Audit Plugin 审计级别详解Percona Audit Plugin 支持4 种审计策略policyPolicy 对照表Policy等级审计内容NONELevel 0关闭审计LOGINSLevel 1连接事件 默认查询记录QUERIESLevel 2所有 SQL 查询不含连接ALLLevel 3接 查询完整审计注意Percona 的 LOGINS 级别仍会记录 Query这是与 MariaDB Audit Plugin 的区别。三、各级别详细说明Level 0: NONE关闭审计设置方式SETGLOBALaudit_log_policyNONE;特点不记录任何审计信息性能影响0%适用场景压测、开发环境验证结果# 执行查询SELECT1;# 审计日志无新增记录Level 1: LOGINS基础审计设置方式SETGLOBALaudit_log_policyLOGINS;记录内容Connect 事件用户登录Quit 事件用户登出Query 事件Percona 特性LOGINS 级别仍记录 SQL适用场景生产环境常态等保合规基础级审计日志示例{name:Connect,record:464,timestamp:2025-12-24T09:48:53Z,user:audit_test,host:localhost}{name:Query,record:466,timestamp:2025-12-24T09:48:53Z,command_class:select,sqltext:SELECT 1}{name:Quit,record:468,timestamp:2025-12-24T09:48:53Z,user:audit_test}性能影响很低 3%Level 2: QUERIES增强审计设置方式SETGLOBALaudit_log_policyQUERIES;记录内容所有 SQL 查询SELECT / INSERT / UPDATE / DELETE / DDL不记录 Connect/Quit 事件适用场景核心业务库需要 SQL 级别追溯金融/电力/政企系统审计日志示例{name:Query,record:471,timestamp:2025-12-24T09:49:03Z,command_class:select,sqltext:SELECT 1}{name:Query,record:472,timestamp:2025-12-24T09:49:03Z,command_class:delete,sqltext:DELETE FROM test_audit.t WHERE id1}性能影响中等5% ~ 10%与 SQL 频率正相关Level 3: ALL全量审计设置方式SETGLOBALaudit_log_policyALL;记录内容Connect 事件Quit 事件所有 SQL 查询完整上下文用户、IP、时间、耗时适用场景安全事件追溯应急排查短期开启高合规要求环境审计日志示例{name:Connect,record:474,timestamp:2025-12-24T09:49:16Z,user:audit_test,host:localhost}{name:Query,record:475,timestamp:2025-12-24T09:49:16Z,command_class:select,sqltext:select version_comment limit 1}{name:Query,record:476,timestamp:2025-12-24T09:49:16Z,command_class:select,sqltext:SELECT * FROM test_audit.t}{name:Quit,record:477,timestamp:2025-12-24T09:49:16Z,user:audit_test}性能影响较高10% ~ 20%日志量快速增长长期开启需谨慎四、审计日志字段说明JSON 格式字段字段说明name事件类型Connect/Query/Quit/Table/AudittimestampUTC 时间戳connection_id连接 IDuser执行用户host连接来源主机ip客户端 IPdb数据库名command_classSQL 类型select/insert/update/delete/drop等sqltext完整 SQL 文本status执行状态码0成功start_time查询开始时间微秒end_time查询结束时间微秒五、高级配置技巧5.1 排除特定账户审计当前环境已配置排除 root 用户-- 查看排除列表SHOWVARIABLESLIKEaudit_log_exclude_accounts;-- 设置排除账户SETGLOBALaudit_log_exclude_accountsroot%,rootlocalhost,repl%,;5.2 只审计特定数据库-- 只审计特定库SETGLOBALaudit_log_include_databasesbusiness_db,core_db;5.3 只审计特定 SQL 类型-- 只审计 DMLSETGLOBALaudit_log_include_commandsinsert,update,delete;5.4 日志轮转配置-- 单文件最大 512MBSETGLOBALaudit_log_rotate_on_size536870912;-- 保留 10 个历史文件SETGLOBALaudit_log_rotations10;六、生产环境建议6.1 通用生产库99% 场景推荐配置LOGINS 慢日志SETGLOBALaudit_log_policyLOGINS;SETGLOBALlong_query_time1;优势审计连接 DDL性能稳定易长期运行6.2 核心业务 / 金融 / 电力推荐配置QUERIES 定期清理SETGLOBALaudit_log_policyQUERIES;配合措施定期归档审计日志集中化日志收集ELK设置日志轮转6.3 不推荐配置-- 长期开启 ALL配合 audit_log_strategyASYNCHRONOUSSETGLOBALaudit_log_policyALL;SETGLOBALaudit_log_strategyASYNCHRONOUS;风险高并发下可能引发 I/O 抖动日志文件占用大量磁盘影响主备同步延迟七、审计 vs 其他日志日志类型安全合规数据恢复性能分析SELECT记录审计日志✅❌❌可选binlog❌✅❌❌慢日志❌❌✅仅慢SQL八、常见问题Q1: 为什么 LOGINS 级别还记录 QueryA: Percona Audit Plugin 的 LOGINS 级别行为与 MariaDB 不同会同时记录连接和查询。如需只记录连接需使用audit_log_exclude_commands过滤。Q2: 如何临时关闭审计SETGLOBALaudit_log_policyNONE;Q3: 审计文件满了怎么办审计插件会自动轮转但建议配置监控# 检查审计日志大小ls-lh /var/log/mysql/audit.log*# 设置定期清理任务find/var/log/mysql/audit.log* -mtime 30 -deleteQ4: 审计影响有多大实测数据参考NONE: 0% 影响LOGINS: ❤️% 影响QUERIES: 5-10% 影响ALL: 10-20% 影响与 QPS 正相关九、配置模板等保合规配置my.cnf[mysqld] # 加载审计插件通常已预装 plugin-loadaudit_log.so # 审计策略 audit_log_policyLOGINS audit_log_formatJSON audit_log_file/var/log/mysql/audit.log # 轮转配置 audit_log_rotate_on_size536870912 audit_log_rotations9 # 排除管理账户避免日志膨胀 audit_log_exclude_accountsroot%,rootlocalhost,repl%, # 性能优化 audit_log_strategyASYNCHRONOUS audit_log_buffer_size1048576 # SQL 记录配置 audit_log_max_sqltext2048 audit_log_display_query_timeON文档版本v1.0验证日期2025-12-24验证环境145 集群 mysql-0d130fde (MySQL 8.0.35 Percona Audit Plugin)