向MySQL中的现有用户授予权限

向MySQL中的现有用户授予权限,mysql,database,privileges,Mysql,Database,Privileges,正在尝试使用向现有数据库用户授予权限 GRANT SELECT, INSERT, UPDATE ON myschema.* TO 'OptimusPrime'@'cybertron'; 但我一直在 1410, 'You are not allowed to create a user with GRANT' 我很困惑,因为我确定数据库中存在用户OptimuPrime(!)。我用计算机验证了它 select * from mysql.user; 事实上,OptimuPrime就在那里。我被难

正在尝试使用向现有数据库用户授予权限

GRANT SELECT, INSERT, UPDATE ON myschema.* TO 'OptimusPrime'@'cybertron';
但我一直在

1410, 'You are not allowed to create a user with GRANT'
我很困惑,因为我确定数据库中存在用户OptimuPrime(!)。我用计算机验证了它

select * from mysql.user;
事实上,OptimuPrime就在那里。我被难住了。有没有人能告诉我为什么我一直得到这个?我不想创建一个新用户

编辑:我正在使用root用户


EDIT2:尝试对根用户执行此操作。得到同样的错误。我将尝试重新安装服务器。有点可疑。一旦我完成了这项操作,我将进行更新。要执行此命令,您需要以管理员身份执行sql查询,或者授权用户执行
GRANT
查询

您可以与
root
用户连接,并尝试执行

授权选择、插入、更新myschema.*至'OptimuPrime'@'cybertron';

结果会更好。

检查您的当前用户,可能您的用户没有权限授予其他用户权限,是否使用特权用户?我使用的是root用户。用户在尝试此语句之前创建了整个db模式。您说OptimuPrime在那里,但这是真的吗OptimusPrime@cybertron? 请实际向我们显示该查询的结果,以便我们能够帮助您。检查此项,接受的答案可能会有所帮助。谢谢@mamounothman,我检查了,我使用的是root用户,root确实有授予选项,因此我不确定这是否是实际情况。实际上,我已经在与root连接。它是创建模式的脚本的一部分。最后(为了避免任何进一步的根用户声明),我想向普通用户授予权限您以前编辑过根用户的权限吗?或者是新安装?我不确定你的意思是:编辑根用户?不,我正在尝试编辑OptimuPrime。是的,我想他以前被编辑过好吧,你的MySQL服务器版本是什么?选择@@version;--8.0.18