2009-12-28 85 views
0

我想连接远程mysql我有典型的问题。mysql远程连接问题?如何使用PHP连接?

$conn = mysql_connect('xxx.xxx.xxx.xxx', 'username', 'password') or die(mysql_error()); 

让我的系统的主机名是my.host.com和远程一个是remote.host.com

我tryed同时使用IP xxx.xxx.xxx.xxx和remote.host.com它是说

Access denied for user 'username'@'my.host.com' (using password: YES) 

请帮我解决这个问题。

在此先感谢。

回答

1

你授予与主机用户的权限?

 

GRANT ALL ON mydb.* TO 'someuser'@'somehost'; 
 
+0

我使用hostname作为remote.host.com,但它显示 拒绝访问用户'username'@mymyost.com'(使用密码:YES) – itsoft3g

+0

用户必须具有该特定主机的权限,是否设置了该特定主机那个呢? – mmattax

0

检查您指定的密码和用户名是否正确以及是否设置了用户在数据库中进行访问。

如果不解决这个问题,读http://dev.mysql.com/doc/refman/5.1/en/access-denied.html

+0

我使用hostname作为remote.host.com,但它显示 访问被拒绝用户'username'@mymyost.com'(使用密码:是) – itsoft3g

+0

主机名不是你的问题。否则,您将无法从服务器获得拒绝访问响应。检查用户/通行证和GRANT – Gordon

+0

如何设置授权 – itsoft3g

0

您需要允许从MySQL内部访问所需的客户端主机。

请参阅GRANT命令(特别是“全局权限”位)的具体信息。

+0

我使用hostname作为remote.host.com,但它显示 访问被拒绝用户'username'@mymyost.com'(使用密码:是) – itsoft3g

+1

您需要允许访问'my.host.com' 。 (顺便说一句,我认为它不是说'my.host.com',而是你试图连接的特定主机。) –

+0

我该怎么做?请帮我 – itsoft3g

0

请阅读MySQL的文档中的The MySQL Access Privilege System章:

您的身份是基于两个信息:
*客户端主机 从中连接
*您的MySQL用户名
身份检查是使用三个用户表范围列(主机,用户和密码)执行。只有某些用户表行中的主机和用户列与客户机主机名和用户名相匹配,并且客户机提供该行中指定的密码时,服务器才会接受连接。
即,如果您的php脚本在my.host.com上运行并连接到某个远程MySQL服务器,则必须在服务器的mysql.user表中为[username,my.host.com,yourpassword]输入一个条目,否则服务器将拒绝访问。