繁体   English   中英

错误1045(28000):用户'root'@'%'的访问被拒绝

[英]ERROR 1045 (28000): Access denied for user 'root'@'%'

我正在尝试跑步

GRANT ALL PRIVILEGES ON * . * TO 'root'@'localhost';

从远程服务器到localhost / phpmyadmin,但收到错误1045(28000): Access denied for user 'root'@'%' (using password: NO).

mysql> show grants;
+----------------------------------+
| Grants for root@%                |
+----------------------------------+
| GRANT USAGE ON *.* TO 'root'@'%' |
+----------------------------------+

我该如何解决这个问题? 我已经通过互联网提出了很多建议,但实际上无法弄清楚。

我认为,您忘记了flush privileges

mysql> GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' with GRANT OPTION;
mysql> FLUSH PRIVILEGES;

注意:我已将with GRANT OPTION包含在内with GRANT OPTION因为如文档所述:

使用GRANT OPTION特权,您可以授予其他用户或从其他用户中删除您自己拥有的那些特权。

编辑1:

根据评论,好像您忘记了root密码。 因此,尝试像这样重置:

  1. 停止MySQL服务器。

    sudo /etc/init.d/mysql stop

  2. 在没有密码的情况下启动mysql

    sudo mysqld_safe --skip-grant-tables &

  3. root身份登录到mysql

    mysql -u root

  4. 将新密码设置为root

    UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

  5. 刷新权限。

    FLUSH PRIVILEGES;

  6. 最后,正常重启mysql。

如果您具有root凭据,则按如下所述设置权限。

将db。*上的所有特权授予“ pass”标识的user @'%';

谢谢

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM