大家好,我过去一小时一直坚持这个问题。我在网上看到我必须在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 |
+---------------------------------------------------------------------+
任何帮助将不胜感激我似乎无法找到任何有用的东西。
答案 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
?