http://stackoverflow.com/questions/21714869/error-1044-42000-access-denied-for-root-with-all-privileges

 

首先,确认当前的登录用户:

select user();
select current_user();

第一条命令返回试图登录的用户;第二条命令返回实际链接的用户。

确认是否以 root@localhost 登录。

 

root@localhost已被赋予的权限Grant_priv。

查看已有的权限:

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\';

重新登录,问题解决。

版权声明:本文为xiaoerlang原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://www.cnblogs.com/xiaoerlang/p/4538746.html