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