我试图从我的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 />";
?>
答案 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地址唯一的解决方案是联系您的主机,恕我直言。