配置文件权限过宽,怀疑密码被读取,需要紧急处置。第一次遇到会往复杂处想,其实漏掉的多是个小前提。

SHOW PROCESSLIST;
SELECT user, host FROM mysql.user;
ALTER USER 'app'@'%' IDENTIFIED BY '新密码';

凭据暴露后攻击者可能已经建立连接或留下账号,只改密码无法排除残留。这一点先确认清楚,后面就不用反复试。

「数据库密码泄露」这个问题文档写得含糊,实际行为以当前版本为准,别照旧版本的结论套。临时改动用注释写上日期和原因,过两周自己都记不清为什么这么写。

动手前把原文件复制一份带时间戳,出问题立刻换回去,比现场分析快得多。一次只改一处,改完立刻验证,几个改动叠在一起,出问题就说不清是谁导致的。

先做最小复现,能稳定跑出来的问题,排查成本会低一个数量级。别只看报错的最后一行,往上看几行,真正的起因通常在上面。

具体做法是,先导出当前连接与账号清单;修改密码并收紧权限;核查异常登录与新增账号。

改完照着核一遍,旧密码失效,异常连接消失,账号清单干净。

作者 9823189