无法使用IP地址连接数据库服务器

时间:2012-11-20 02:41:06

标签: php mysql linux system-administration

我使用PHP和MySQL建立数据库连接,问题是:

当我尝试连接到数据库远程服务器时,我的本地机器中的Web应用程序项目每件事都可以正常工作

mysql_connect("x.xx.xx.x","username","password") or die(mysql_error());

当我在具有mysql数据库的远程服务器中部署Web应用程序并尝试使用该Web应用程序时,没有数据库错误连接!如果我将数据库连接更改为:

mysql_connect("localhost","username","password") or die(mysql_error());

使用localhost(127.0.0.1)而不是使用ip地址工作正常,我已经尝试检查/etc/my.conf文件并添加bind-address = 192.168.15.15并重新启动mysql服务器 仍然无法连接到数据库
任何想法!!!

2 个答案:

答案 0 :(得分:1)

你需要检查两件事。首先,确保端口3306已打开以进行连接。其次,如果您要远程连接,则需要创建通配符用户(主机将是百分号%)。看一下mysql.user表。如果您尝试连接的用户的Host localhost,您将无法远程连接。

创建新用户:

CREATE USER 'newuser'@'%' IDENTIFIED BY 'password';

授予该用户权限,我建议只使用相关数据库:

GRANT ALL PRIVILEGES ON your_database.* TO 'newuser'@'%';

最后,重新加载权限:

FLUSH PRIVILEGES;

答案 1 :(得分:0)

问题是我启用了SElinux,我是否使用命令启用httpd网络:

setsebool -P httpd_can_network_connect=1