2012-11-20 115 views
0

我使用PHP和MySQL进行数据库连接连接数据库服务器,问题是:不能使用IP地址

在我的本地机器上的Web应用程序项目,当我试图连接到数据库的远程服务器的每一件事情是做工精细

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

当我部署有mysql数据库,并尝试使用该Web应用程序我没有得到任何数据库错误连接的远程服务器上的Web应用程序!如果我改变数据库连接:使用而不是使用IP地址不断事情做工精细本地主机(127.0.0.1)

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

,我已经试过检查/etc/my.conf文件,并添加绑定地址= 192.168。 15.15并重新启动mysql服务器 仍然无法连接到数据库
任何想法!

+0

192.168.15.15,是远程服务器 –

+3

请不要使用'mysql_ *'功能,因为它们是在[折旧过程(HTTP的IP地址://新闻.php.net/php.internals/53799)。改为使用[MySQLi](http://php.net/manual/en/book.mysqli.php)或[PDO](http://php.net/manual/en/book.pdo.php),[be一个更好的PHP开发人员](http://jason.pureconcepts.net/2012/08/better-php-developer/)。 –

回答

1

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

要创建一个新用户:

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

给该用户的权限,我建议只在数据库中的问题:

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

最后,重新加载权限:

FLUSH PRIVILEGES; 
+0

正如我所说我能够通过我的本地机器连接到远程服务器,在同一台服务器上部署wep应用程序后,我无法连接到数据库(这是在同一台服务器),而我使用的IP地址,当我使用(本地主机)每件事情都很好,好吧,iahve创建用户,因为你说的仍然是同样的问题! –

0

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

setsebool -P httpd_can_network_connect=1