MySQL 8.0.19+ 启用 audit_log 插件需安装插件、配置 audit_log=FORCE_PLUS_PERMANENT、audit_log_format=JSON、audit_log_policy=LOGINS(或 ALL),注意其不记录 Unix socket 登录,且密码错误等认证失败细节需结合错误日志分析。mysql 8.0+ 如何启用 audit_log 插件记录登录行为MySQL 自带的 audit_log 插件能捕获连接、断开、查询等事件,但默认不开启,且登录审计需显式配置才能记录 IP 和时间。它不是靠 general_log 或 slow_query_log 替代的——那俩不记录认证结果(比如密码错、用户不存在),也压根不记客户端 IP 的归属细节。实操建议:确认 MySQL 版本 ≥ 8.0.19(早期 8.0 版本插件名是 server_audit,行为和参数都不同,容易配错)检查插件是否已安装:SELECT PLUGIN_NAME, PLUGIN_STATUS FROM INFORMATION_SCHEMA.PLUGINS WHERE PLUGIN_NAME LIKE '%audit%';若未安装,用 INSTALL PLUGIN audit_log SONAME 'audit_log.so';(Linux)或 'audit_log.dll'(Windows)加载必须在 my.cnf 中设置 audit_log=FORCE_PLUS_PERMANENT,否则服务重启后插件会自动卸载audit_log_format=JSON 为什么比 NEWLINE 更适合抓登录 IP 和时间audit_log_format 控制日志结构。NEWLINE 是纯文本,字段顺序固定但无标识,解析困难;JSON 每条记录自带 "record":"connect"、"ip"、"timestamp" 等明确字段,方便 grep、logstash 或脚本提取真实登录尝试(含失败)。实操建议:在 my.cnf 的 [mysqld] 段落添加:audit_log_format=JSON不要设为 OLD 或留空,默认值是 NEWLINE,IP 字段藏在第 4 列,但失败登录(如用户不存在)可能不写 IP,而 JSON 格式下只要 TCP 连接建立,"ip" 就一定存在日志路径由 audit_log_file 指定,默认 audit.log,确保 MySQL 进程有写权限,否则插件静默失效audit_log_policy=ALL 能否捕获 root@localhost 登录不能直接捕获 root@localhost 的 Unix socket 登录——因为这类连接不走 TCP/IP,audit_log 默认只记录网络连接事件。即使设了 audit_log_policy=ALL,socket 连接仍不会出现在日志里,这是设计限制,不是配置遗漏。 Trenz AI驱动的社交电商营销平台,专为TikTok Shop设计
mysql如何记录用户登录审计_配置插件追踪IP与时间
张小明
前端开发工程师
SolidWorks三维设计上云指南:制造企业如何用1台云主机实现10人高效协同?
随着云计算技术的成熟,SolidWorks云主机凭借其显著优势,为制造企业提供了全新的解决方案。通过将SolidWorks部署至云端,企业可突破本地硬件限制,实现“一台云主机支持多人协同设计”的轻量化运营模式。这一模式不仅降低了IT投入与…
SRE薪资报告:需求年增长25%,但初级岗位正在消失
最近发现一个有趣的现象:一边是SRE岗位需求持续火爆,年增长率超过25%;另一边却是不少初级运维工程师抱怨工作难找。这到底是怎么回事?今天我们就来聊聊这个看似矛盾的现象。 01云原生浪潮下的转变 先来看一组数据:到20…
基于Neo4j的知识图谱的智能问答系统
基于Neo4j的知识图谱的智能问答系统,采用机器学习知识,结合规则模版问答,完成智能问答系统搭建。技术简介:Neo4j,图谱构建,实体关系识别,智能问答,知识图谱推荐算法,图谱知识表示。P…
【Flink】从零构建流处理应用:开发环境配置与WordCount实战解析
1. 为什么选择Flink进行流处理? 在当今数据爆炸的时代,实时处理能力已经成为企业竞争力的关键。Flink作为Apache顶级项目,凭借其低延迟、高吞吐、Exactly-Once语义等特性,在流处理领域脱颖而出。我最初接触Flink时,最惊…
OpenWRT核心库libubox深度解析:从源码到架构设计思想
OpenWRT核心库libubox深度解析:从源码到架构设计思想 在嵌入式系统开发领域,效率与可靠性往往决定着产品的成败。当我们需要构建一个轻量级但功能完备的嵌入式系统时,如何避免重复造轮子,同时确保系统各组件能够高效协同工作&…
mac的node版本安装及升降级
在开发过程中,对于不同的开发环境可能需要切换不同的node版本,此过程会涉及到node版本的升级与降级。 一、安装node版本管理模块n(sudo命令) 1. 全局安装n模块 sudo npm install n -g 2. 安装当前稳定版本 sudo n stable 3.安装最…