无法连接到我的SQL数据库

我想通过一个PHP脚本连接到亚马逊的MySQL数据库,但我显示此错误:

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

我尝试过search地点,做了以下事情:

  • 在“/etc/mysql/my.cnf”我注释了行bind address: 127.0.0.1允许acccess所有。
  • 选中/etc/hosts.allow和/etc/hosts.deny,并确保没有可能导致的规则存在

但是还是没有运气。 请build议任何其他方式。

谢谢Madhup

你从PHP连接到127.0.0.1?

你确定你已经重新启动你的MySQL更改configuration文件后?

你可以连接到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 

这是一个MySQL论坛post ,应该有所帮助。

如何绑定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应该自己照顾自己,最好有两个锁着的门,而不是一个。