不是从localhost连接到mysql

时间:2014-04-05 20:09:56

标签: php mysql localhost connect

我试图从我的VDS连接到我网站的mysql,以下代码不起作用,秘密是什么?

<?php

$db_host = "WEBSITE.COM";
$db_user = "username";
$db_pass = "pass";

mysql_connect("".$db_host."", "".$db_user."", "".$db_pass."") or die(mysql_error());
echo "Connected!<br />";

?>

3 个答案:

答案 0 :(得分:2)

如果没有关于错误的更多细节,很难猜到,但如果我不得不猜测我会说你的用户名只允许从localhost连接。 Mysql用户同时拥有用户名和主机,两者必须匹配才允许连接。

您可以创建另一个允许远程连接的用户CREATE USER username@'your.ip.address' IDENTIFIED BY 'some_password'

然后授予他访问所需数据库的权限(请参阅http://dev.mysql.com/doc/refman/5.1/en/grant.html)。

要检查的另一件事是mysql正在使用的端口(默认为3306)对外界是开放的,并且mysql服务器正在监听所有接口(请参阅my.cnf配置文件)。

答案 1 :(得分:2)

当您发布错误代码时,我建议您阅读this主题。我相信,答案就在那里;)

答案 2 :(得分:2)

您的VDS Hoster上的MySQL可能只配置为来自特定主机的请求。您可以告诉MySQL只接受来自特定IP地址的数据包。所以你必须使用这样的IP地址而不是你的域名。

如果您不知道该IP地址唯一的解决方案是联系您的主机,恕我直言。