0

我正在使用 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 服务器仍然无法连接到数据库
任何想法! !

4

2 回答 2

1

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

创建新用户:

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

给那个用户权限,我建议只给有问题的数据库:

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

最后,重新加载权限:

FLUSH PRIVILEGES;
于 2012-11-20T03:07:15.027 回答
0

问题是我启用了 SElinux,所以我用 commad 启用了 httpd 网络:

setsebool -P httpd_can_network_connect=1
于 2012-11-20T08:49:31.927 回答