很奇怪,root用户应该不可能无法授权普通用户。看提示像是说密码错误。但是实际上密码没有问题。 决定去看看mysql.user表中root@localhost这个用户的权限是怎么样的。在mysql.user表中记录了与全局相关的权限信息。这个全局权限不是指拥有所有的权限,它具体指的是拥有该MYSQL服务器所有数据库对象的权限。 mysql> select * from mysql.user where User='root' and Host='localhost'/G;
可以看到Grant_priv是N。很显然,因为root@localhost这个用户没有授予权限的权限,所以之前的操作报错。修改一下Grant_priv的值为Y,刷新下,然后退出重新登录。问题就解决了。 mysql> update mysql.user set Grant_priv='Y' where User='root' and Host='localhost';