今天在尝试删除已建的一个视图时,发现提示这个报错,多方查找解决办法后记录一下。
原因是MySQL8.0.16版本中新增了一个system_user帐户类型,我们需要把权限给添加进去,使用下方的代码,此处的root可以是你当前使用的账户
grant system_user on *.* to 'root';
此时可解决,再尝试之前的操作发现就可以进行了。
参考: MySQL8.0报错:Access denied; you need (at least one of) the
SYSTEM_USER privilege(s) for this
operation
参考MySQL8.0.16:Access denied
按理来说此时应该解决了,但是我又报错
:You are not allowed to create a user with GRANT
原因是账户的主机地址记录的值为"localhost",这样是4不行滴,需要改为ip地址的形式,好的,用Navicat直接改账户的主机地址值为"127.0.0.1",解决!
参考:解决mysql中 you are not allowed to create user with grant 的问题