【发布时间】:2016-06-24 15:19:25
【问题描述】:
这个问题让我有点措手不及。我刚刚设置了这个 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
没错。所以我检查了主机文件并将它们的权限设置为 774,这实际上不应该造成任何问题。为了科学起见,我将许可增加到 777,但这似乎没有任何区别。在这一点上,我有点停滞不前,因为我找不到任何其他线索来说明可能是什么问题。目前大部分配置都是 PHP 和 MySQL 的默认配置,所以老实说,我想不出它们的配置会产生任何潜在的差异。有人愿意分享他们对此的看法吗?
【问题讨论】:
-
你的PHP脚本的连接配置是什么?
-
你有什么操作系统??确切地 ?你能显示 ls -l /etc/hosts.* 的输出吗 你是否启用了 selinux 并处于强制模式? /etc 目录条目本身有什么权限? /var/log/messages 中是否记录了与该问题相关的任何消息?
-
这只是 Ubuntu 服务器 15.10 的标准安装。主机文件肯定都在那里并且正确。 -rwxrwxr-- 1 root root 92 Feb 20 2014 /etc/host.conf -rwxrwxr-- 1 root root 12 Mar 9 11:18 /etc/hostname -rwxrwxr-- 1 root root 210 Nov 24 22:16 /etc/ hosts -rwxrwxrwx 1 root root 0 3 月 9 日 19:24 /etc/hosts.allow -rwxrwxrwx 1 root root 0 3 月 9 日 19:24 /etc/hosts.deny 我从未安装过 selinux,所以除非它默认出现在Ubuntu 服务器。 /etc 是 774。/var/log/mysql/error.log 对此一无所知。这条评论的格式很糟糕,抱歉。