这个问题让我有点猝不及防。我刚刚设置了这个LAMP服务器,在我尝试运行一些与MySQL服务器通信的PHP之前,一切似乎都运行得很好。
在‘读取初始通信数据包’时失去与MySQL服务器的连接,系统错误:0
因此,由于某些原因,MySQL服务器显然不会与PHP通信。我继续使用MySQL客户端连接到它,并且登录和执行查询都没有任何问题。我查看了MySQL的systemctl,发现它出于某种原因故意拒绝连接。
vultr.guest systemd[1]: Started MySQL Community Server.
vultr.guest mysqld[17740]: warning: cannot open /etc/hosts.allow: Permission denied
vultr.guest mysqld[17740]: warning: cannot open /etc/hosts.deny: Permission denied
vultr.guest mysqld[17740]: refused connect from ::1正确的。因此,我检查了hosts文件,它们的权限设置为774,这实际上不会造成任何问题。为了科学,我将许可提高到777,这似乎没有什么不同。在这一点上,我有点停滞不前,因为我找不到任何其他线索来说明可能是什么问题。大多数情况下,所有的配置都是PHP和MySQL的默认配置,所以老实说,我想不出它们的配置有什么潜在的差异。有人愿意分享他们对此的想法吗?
发布于 2016-03-10 08:50:40
从您的日志中看起来连接已经建立,但是被mysqld拒绝,所以这可能既不是端口问题,也不是防火墙相关的问题。
据我所知,如果您使用命令行客户端与本地主机上的服务器建立连接,则客户端始终通过套接字文件进行连接。另一方面,PHP可能使用TCP/IP。
也许您的mysqld配置中存在错误(或某些特殊的安全措施),使您的mysqld侦听一个端口,但拒绝所有TCP/IP连接。
https://stackoverflow.com/questions/35905325
复制相似问题