我正在尝试连接远程mysql我遇到了典型的问题。
$conn = mysql_connect('xxx.xxx.xxx.xxx', 'username', 'password') or die(mysql_error());
让我的系统主机名为my.host.com,远程主机名为remote.host.com
我尝试使用IP xxx.xxx.xxx.xxx和remote.host.com这就是说
Access denied for user 'username'@'my.host.com' (using password: YES)
请帮我解决这个问题。
提前致谢。
答案 0 :(得分:1)
您是否使用主机名授予用户权限?
GRANT ALL ON mydb.* TO 'someuser'@'somehost';
答案 1 :(得分:0)
检查您指定的密码和用户名是否正确,以及用户是否已设置为在数据库中进行访问。
如果仍无法解决问题,请阅读http://dev.mysql.com/doc/refman/5.1/en/access-denied.html
答案 2 :(得分:0)
您需要允许从MySQL中访问所需的客户端主机。
有关详细信息,请参阅GRANT命令(特别是“全局权限”位)。
答案 3 :(得分:0)
请阅读MySQL文档中的The MySQL Access Privilege System章节:
您的身份基于两条信息:I.e。如果您的php脚本在my.host.com上“运行”并连接到某个远程MySQL服务器,则必须在服务器的mysql.user表中为[username,my.host.com,yourpassword]输入一个条目,否则服务器将拒绝访问。
*客户端主机从中连接
*您的MySQL用户名
使用三个用户表范围列(主机,用户和密码)执行身份检查。仅当某个用户表行中的Host和User列与客户端主机名和用户名匹配且客户端提供该行中指定的密码时,服务器才接受连接。