无法连接到我的 SQL 数据库

无法连接到我的 SQL 数据库

我正在尝试通过 php 脚本连接到 amazon 上的 mysql 数据库,但是显示以下错误:

警告:mysql_connect() [function.mysql-connect]: 在“读取初始通信包”时与 MySQL 服务器失去连接,系统错误:111

我尝试并搜索了一些地方并做了以下事情:

  • 在“/etc/mysql/my.cnf”中我注释掉了该行bind address: 127.0.0.1以允许所有人访问。
  • 检查 /etc/hosts.allow 和 /etc/hosts.deny,确保不存在可能导致

但还是没运气。请提出其他方法。

谢谢,Madhup

答案1

您从 php 连接到 127.0.0.1 吗?

你确定在更改配置文件后重新启动了 mysql 吗?

您可以使用命令行连接到 mysql:

mysql -uroot -psomePass -h127.0.0.1

您看到 mysql 在哪个端口上监听吗?可能是非标准端口吗?

netstat -lanp|grep mysqld|grep LISTEN

你的 iptables 是否可能不允许通过环回进行连接?运行

iptables -I INPUT -i lo -j ACCEPT
iptables -I OUTPUT -o lo -j ACCEPT

答案2

这是一个MySQL 论坛帖子这应该有帮助。

答案3

如何将 mysql 绑定到 127.0.0.1 以允许所有人访问?如果您从外部服务器连接,则需要将 mysql 绑定到外部 IP 地址,以便您可以远程连接。

您可能还希望添加一些防火墙规则,例如

/sbin/iptables -A INPUT -p tcp --dport 3306 -s <php_host_ip> -j ACCEPT
/sbin/iptables -A INPUT -p tcp --dport 3306 -j DROP

阻止从任何其他主机访问 mysql,尽管 mysql 应该自行管理,但最好有两扇锁着的门,而不是一扇。

相关内容