这应该是非常简单的,但我不能让它为我的生活工作。
我只是试图远程连接到我的MySQL服务器。
在mysql.user表中,与主机'localhost‘的用户'root’项与主机'%‘的用户’root‘项完全相同。
我已经束手无策,不知道该怎么做了。任何想法都欢迎。
发布于 2009-10-13 12:47:06
可能是安全防范措施。可以尝试添加一个新的管理员帐户:
mysql> CREATE USER 'monty'@'localhost' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'localhost'
-> WITH GRANT OPTION;
mysql> CREATE USER 'monty'@'%' IDENTIFIED BY 'some_pass';
mysql> GRANT ALL PRIVILEGES ON *.* TO 'monty'@'%'
-> WITH GRANT OPTION;尽管正如Pascal和其他人所指出的那样,让一个具有这种访问权限的用户向任何IP开放并不是一个好主意。如果需要管理用户,请使用root,并将其保留在localhost上。对于任何其他操作,请指定所需的权限,并限制用户的可访问性,如下所示。
编辑:
来自MySQL常见问题解答:
如果无法确定为什么拒绝访问,请从用户表中删除包含通配符(包含“%”或“_”字符的条目)的主机值的所有条目。一个非常常见的错误是插入一个带有Host='%‘和user=’some‘的新条目,认为这允许您指定从同一台机器连接的本地主机。这不起作用的原因是默认特权包括一个带有Host='localhost‘和User='’的条目。因为该条目具有比'%‘更具体的主机值' localhost’,所以在从localhost连接时优先使用它而不是新条目!正确的过程是插入带有Host='localhost‘和User=’some‘的第二个条目,或者删除具有Host='localhost’和User=‘User='’的条目。删除该项后,请记住发出刷新权限语句,以重新加载授予表。另见5.4.4节,“访问控制,第1阶段:连接验证”。
发布于 2013-09-16 05:56:03
您必须创建一个new MySQL User,并在Query prompt中通过phpMyAdmin或命令提示符分配特权如下:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost' WITH GRANT OPTION;
CREATE USER 'username'@'%' IDENTIFIED BY 'password';
GRANT ALL PRIVILEGES ON *.* TO 'username'@'%' WITH GRANT OPTION;
FLUSH PRIVILEGES;一旦完成了所有四个查询,就应该与username / password连接
发布于 2014-06-11 19:31:34
我的错误信息类似,并且说'Host不允许连接到这个MySQL服务器‘,即使我使用根用户。下面是如何确保root拥有正确的权限。
我的设置
溶液
- port (by default this is 'port = 3306')
- bind-address (by default this is 'bind-address = 127.0.0.1'; if you want to open to all then just comment out this line. For my example, I'll say the actual server is on 10.1.1.7)
https://stackoverflow.com/questions/1559955
复制相似问题