mysql如何查看执行过的SQL记录_开启审计日志插件功能

张开发
2026/4/22 17:25:05 15 分钟阅读
mysql如何查看执行过的SQL记录_开启审计日志插件功能
MySQL社区版默认不记录SQL需用general_log临时排查或安装server_audit插件实现审计企业版才原生支持audit_log插件。MySQL 默认不记录执行过的 SQL必须手动开启审计日志插件MySQL 社区版默认完全不保存历史 SQL 记录general_log 是最接近的替代方案但它不是审计日志也不带用户、时间、返回状态等关键字段。真正的审计能力依赖 audit_log 插件而该插件仅在 MySQL 企业版中官方支持社区版需借助第三方插件如 MariaDB 的 server_audit或用 general_log 日志解析临时顶替。用 general_log 快速查看最近执行的 SQL适合开发/排障这是社区版唯一开箱即用的“记录执行 SQL”方式但性能开销大不能长期开启。SET GLOBAL general_log ON; —— 动态开启立即生效SET GLOBAL general_log_file /var/log/mysql/general.log; —— 指定路径需 MySQL 进程有写权限日志格式是纯文本每行含时间、连接 ID、命令类型Query / Connect / Quit、SQL 内容注意general_log 不记录参数化查询的真实值如 PREPARE EXECUTE 中的 ? 值不会展开高并发下 I/O 压力明显线上环境开启超过几分钟就可能拖慢 QPS社区版想做审计级记录绕不开 server_audit 插件MariaDB 兼容MySQL 社区版原生不提供审计插件但很多生产环境会混用 MariaDB 的 server_audit它支持 MySQL 5.7需手动安装 SO 文件。 WisPaper 复旦大学研发的AI学术搜索工具5分钟内筛选1000篇论文

更多文章