用户''@ localhost'拒绝访问

时间:2015-03-24 21:22:51

标签: php mysql macos

大家好,我过去一小时一直坚持这个问题。我在网上看到我必须在mysql上更改用户的权限。我已经这样做了,用户已被授予所有权限,但我仍然得到错误!当我输入SHOW GRANTS FOR 'root'@'localhost';时,它会返回

+---------------------------------------------------------------------+ | Grants for root@localhost | +---------------------------------------------------------------------+ | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION | | GRANT PROXY ON ''@'' TO 'root'@'localhost' WITH GRANT OPTION | +---------------------------------------------------------------------+ 任何帮助将不胜感激我似乎无法找到任何有用的东西。

3 个答案:

答案 0 :(得分:0)

您似乎没有提供用户 - '' localhost'。没有提供代码示例也难以排除故障。

答案 1 :(得分:0)

Localhost和127.0.1对于与mySQL的连接不一样,所以只需将$ servername更改为localhost或将权限授予root@127.0.0.1

来自文档:

  

在Unix上,MySQL程序特别对待主机名localhost,其方式可能与您期望的与其他基于网络的程序相比有所不同。对于与localhost的连接,MySQL程序尝试使用Unix套接字文件连接到本地服务器。即使给出--port或-P选项指定端口号,也会发生这种情况。要确保客户端与本地服务器建立TCP / IP连接,请使用--host或-h指定主机名值127.0.0.1,或本地服务器的IP地址或名称。您还可以使用--protocol = TCP选项显式指定连接协议,即使对于localhost也是如此。

答案 2 :(得分:0)

就是这样,

Access denied for user 'root'@'localhost'

但是你再次没有提供完整的信息,请检查你得到的这两个中的哪一个,我们将根据它提供后续步骤

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: Yes)

另外,如果您无法以root用户身份登录mysql提示符,那么您如何才能看到SHOW GRANTS