背景
用户在5.6版本的RDS实例使用update的mysql.user表的方式直接做更新权限的操作的,但执行后报无权限的导致失败,操作已经是高权限的账号
报错
ERROR 1142 (42000): UPDATE command denied to user 'admin'@'77.18.71.11' for table 'user
原因
- 由于云上RDS不支持超级权限导致的
注意:5.6 默认就update的方式进行修改密码,不能使用alter
解决方案
- 通过控制台进行修改操作,如截图
- 通过控制台做升级数据库版本的操作,如升级5.7 后操作
其它版本如不通过控制台进行操作的,可使用高权限登录后进行修改
5.7
update mysql.user set authentication_string=password('123456') where User="dd" and Host="%";
8.0
alter user 'dd'@'localhost' identified by '%';
参考文档
https://help.aliyun.com/document_detail/26125.html
https://dev.mysql.com/doc/refman/5.7/en/alter-user.html