突然间,我开始在CentOS WHM Cpanel LAMP堆栈上收到此错误消息:
Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (2)
我通过WHM重新启动了MySQL服务器,然而MySQL再次开始工作,只需几秒钟/分钟它就会停止并返回上面的错误消息。这发生了好几次。
我搜索了一个解决方案,并确认'/var/lib/mysql/mysql.sock'丢失,只是创建了一个空文件'/var/lib/mysql/mysql.sock',重启MySQL服务器WHM和MySQL再次开始工作,这次没有下降。
我的问题是,首先可能是什么造成了这种情况?
初始重启不应该恢复任何丢失的/var/lib/mysql/mysql.sock文件吗?另外,为什么重启工作然后返回错误?
如果缺少/var/lib/mysql/mysql.sock文件,重新启动应该没有用到我重新创建/var/lib/mysql/mysql.sock文件?
在第一次失败之前,服务器负载达到峰值(但之后没有达到峰值)。
另外,我收到了这个错误:
Access denied for user 'root'@'localhost' (using password: YES)
我通过WHM更改了密码,停止了该错误,但随后,袜子错误没有消失。
有什么想法发生了什么?
答案 0 :(得分:0)
这需要更多的调查,但这里有一些具体的事情需要注意。
1。)当您无法连接到MySQL时,您是否已通过“service mysql status”验证是否正在运行?机会可能不是,这也解释了为什么mysql.sock会消失(当MySQL关闭时你会看到mysql.sock被删除 - 你可以用“service mysql shutdown”测试这个)
2.)请注意,即使服务器仍在运行,重新创建mysql.sock作为普通文件也没有效果(尽管我怀疑它正在运行)。 mysql.sock是一个套接字而不是普通文件,只能通过重启MySQL来创建。
3.)最重要的是,您应该浏览/var/lib/mysql/*.err日志中的错误,这些错误可以为您提供线索或提示问题的原因。
4。)如果#3无法澄清您想要检查Apache日志中的异常活动。许多数据库崩溃或关闭都与DOS攻击,黑客攻击或甚至失败的cPanel更新有关(按照我的经验的顺序排列)。