如何用 error 事件全局捕获页面图片或脚本加载失败状态

audit_log_format 设置成 STATEMENT 还是 JSON?MySQL 审计日志的 audit_log_format 只支持两个值:NEWLINE(已弃用)、JSON,没有 STATEMENT 选项。官方文档里写的 "STATEMENT" 是旧版 MySQL Enterprise Audit 插件的遗留描述,5.7.28+ 和 8.0.x 中实际只认 JSON ------ 设成其他值会导致插件加载失败或日志静默丢弃。实操建议:必须设为 JSON,否则 audit_log 插件可能无法启用,启动时会报错 Plugin 'audit_log' init function returned error配置方式是:在 my.cnf 的 mysqld 段下写 audit_log_format=JSON,不能带引号、空格或注释改完后要重启 mysqld;在线 SET 不生效,该变量是只读的(read_only)audit_log_policy=ALL 不等于"记录所有语句"很多人以为设了 audit_log_policy=ALL 就能抓到每个 SELECT 或 INSERT,其实它只控制"审计事件类型"的粒度,比如连接、断开、查询开始/结束、表访问等,不控制 SQL 语句体是否写入日志。真正决定语句内容是否落盘的是 audit_log_include_accounts 和 audit_log_exclude_accounts 的匹配逻辑,以及用户权限(如是否拥有 AUDIT_ADMIN)。常见错误现象:日志里只有 connect / disconnect 事件,没看到 query 类型 ------ 很可能是账号被 audit_log_exclude_accounts 匹配到了root 用户有日志,普通用户没有 ------ 检查该用户是否被显式排除,或是否缺少 AUDIT_ADMIN 权限(部分版本要求)audit_log_policy=ALL 下仍漏日志 ------ 实际上 MySQL 默认只对具备 SUPER 或 AUDIT_ADMIN 的会话开启完整事件捕获,普通用户默认只记 connect/disconnectaudit_log_file 路径写错会导致插件静默失效audit_log_file 不是普通日志路径,它受 MySQL 启动用户权限和 secure_file_priv 限制。设成 /var/log/mysql/audit.log 看似合理,但如果 mysqld 是以 mysql 用户运行,而该目录属主是 root 且无写权限,插件不会报错,而是直接放弃写日志 ------ 表现为"配置全对,但文件始终为空"。 Wegic AI网页设计和开发工具

相关推荐
IT19953 小时前
Fail2Ban 防护 MySQL 实战|登录失败 3 次,IP 封禁 24 小时
数据库·mysql
夕除3 小时前
redis--IO 多路复用(select + poll)
数据库·sql
wangchunyu1145 小时前
JAVA CompletableFuture异步编程实战
java·开发语言·python
2501_944521597 小时前
Immer 跨端三方库仓颉适配全流程
python·eclipse·django
信誓旦旦的程序猿7 小时前
【Python量化实战宝典 #26】止损与回撤控制手册:移动止损、最大回撤(Python 可跑)
python·1024程序员节·股票数据api·股票数据api接口·股票api数据接口·股票量化数据api·股票量化数据接口
2501_944521597 小时前
Deepmerge 跨端三方库仓颉适配全流程
java·python·eclipse·github
lzhdim7 小时前
100条常用SQL语句
数据库·sql·mysql·mybatis
天河归来7 小时前
从原始消息到业务数据:三层数据架构的设计与实践
数据库·数据仓库·架构
Patrick在香港7 小时前
同一行 strftime,两台机器跑出两种日期
python·datetime·时区·locale·日期处理
2601_967987377 小时前
用Python+OpenCV+YOLO写个游戏脚本:从自动瞄准到自动采集的保姆级教程
python·opencv·yolo·目标检测·游戏自动化