之前在项目中并没有注意到 MySQL 对宿主机的时间敏感,直到这次某个后端程序报连接错误,核查了网络连接、数据库状态都没问题,最后发现该程序在连接时设置了时区,因此想到有可能是客户端时间与服务器时间差距太大,导致 MySQL 拒绝了连接
在此之前服务器刚刚因维护重启,查看了服务器时间竟然退回到了2015年(现在是2022年),这是由于 esxi 的时间获取出了问题,导致其中的虚拟机的时间获取跟 esxi 同步后错误
确定了 MySQL 服务器因时间配置导致连接失败后,检查了 esxi 的时间,esxi 一直使用内网中的一台主机提供的时间服务来同步时间,查看该主机的时间是正确的,随后手动更新了 esxi 的 NTP 时间同步,恢复了整个 esxi 上的服务器的时间,虚拟机会在 esxi 时间更新后,几分钟之内自动更新
再次启动连接错误的程序,MySQL 连接正常