如何通过phpEnv进行MySQL连接历史查询及数据库审计监控教学?
- 内容介绍
- 文章标签
- 相关推荐
本文共计956个文字,预计阅读时间需要4分钟。
MySQL 的 error_log 不记成功登录,别白 grep
很多人在 phpEnv 的 MySQL 日志目录(通常是 phpenv\mysql\data\*.err)里用 grep "Connect" 找登录记录,结果基本为空。这是因为 MySQL 的 error_log 默认只记录失败连接(如密码错、用户不存在)、服务启停、崩溃等事件,成功的 Connect 行不会写进去。你看到的“Connection refused”或“Access denied”是它能记的,但“root@127.0.0.1 on using TCP/IP”这种成功登录,它不存。
检查当前配置:
SHOW VARIABLES LIKE 'log_error';
确认路径后直接翻日志文件,基本只能验证失败尝试,不能用于登录审计。
立即学习“PHP免费学习笔记(深入)”;
general_log 是唯一能抓到 Connect 行的内置方式,但 phpEnv 默认关着
phpEnv 安装的 MySQL 默认关闭 general_log,必须手动开启才能捕获登录动作。它会把每条客户端命令(包括 Connect、Quit、Query)以纯文本记入日志,其中 Connect 行就对应一次登录。
本文共计956个文字,预计阅读时间需要4分钟。
MySQL 的 error_log 不记成功登录,别白 grep
很多人在 phpEnv 的 MySQL 日志目录(通常是 phpenv\mysql\data\*.err)里用 grep "Connect" 找登录记录,结果基本为空。这是因为 MySQL 的 error_log 默认只记录失败连接(如密码错、用户不存在)、服务启停、崩溃等事件,成功的 Connect 行不会写进去。你看到的“Connection refused”或“Access denied”是它能记的,但“root@127.0.0.1 on using TCP/IP”这种成功登录,它不存。
检查当前配置:
SHOW VARIABLES LIKE 'log_error';
确认路径后直接翻日志文件,基本只能验证失败尝试,不能用于登录审计。
立即学习“PHP免费学习笔记(深入)”;
general_log 是唯一能抓到 Connect 行的内置方式,但 phpEnv 默认关着
phpEnv 安装的 MySQL 默认关闭 general_log,必须手动开启才能捕获登录动作。它会把每条客户端命令(包括 Connect、Quit、Query)以纯文本记入日志,其中 Connect 行就对应一次登录。

