您好, 欢迎来到 !    登录 | 注册 | | 设为首页 | 收藏本站

错误1044(42000):具有所有特权的“ root”访问被拒绝

错误1044(42000):具有所有特权的“ root”访问被拒绝

首先,将您登录用户标识为:

 select user();
 select current_user();

一个命令的结果是您尝试登录时的身份,第二个命令是您实际连接时的身份。确认您root@localhostMysqL 身份登录

Grant_privroot@localhost。这是您可以检查的方式。

MysqL> SELECT host,user,password,Grant_priv,Super_priv FROM MysqL.user;
+-----------+------------------+-------------------------------------------+------------+------------+
| host      | user             | password                                  | Grant_priv | Super_priv |
+-----------+------------------+-------------------------------------------+------------+------------+
| localhost | root             | ***************************************** | N          | Y          |
| localhost | debian-sys-maint | ***************************************** | Y          | Y          |
| localhost | staging          | ***************************************** | N          | N          |
+-----------+------------------+-------------------------------------------+------------+------------+

您可以看到,对于root @ localhost,Grant_priv设置为N。必须为Y。下面是解决方法

UPDATE MysqL.user SET Grant_priv='Y', Super_priv='Y' WHERE User='root';
FLUSH PRIVILEGES;
GRANT ALL ON *.* TO 'root'@'localhost';

我重新登录,一切正常。

其他 2022/1/1 18:13:40 有769人围观

撰写回答


你尚未登录,登录后可以

和开发者交流问题的细节

关注并接收问题和回答的更新提醒

参与内容的编辑和改进,让解决方法与时俱进

请先登录

推荐问题


联系我
置顶