我无法与我的用户在AWS RDS上创建功能

时间:2018-07-16 08:52:08

标签: mysql amazon-web-services amazon-rds

  

错误代码:1227访问被拒绝;您需要(至少一种)超级   此操作的特权

遇到上述错误,我的SQL Yog社区中可见三个用户 mysq.sys@localhost
rdsadmin @ localhost
root @%<--------------这是我的用户
即使我设法为创建选项提供特权,但仍然无法创建我的函数,我的函数如下所示

FluxSink#next

1 个答案:

答案 0 :(得分:1)

CREATE DEFINER=`root`@`xxxxxx.hhhhhhhh.ap-south-1.rds.amazonaws.com` FUNCTION ...

您的问题出在DEFINER指令中。

您已经指出,您的帐户不是这个...

`root`@`xxxxxx.hhhhhhhh.ap-south-1.rds.amazonaws.com` 

...就是这个...

`root`@`%`

在MySQL中,帐户是通过用户名和主机模式的组合来标识的……您不能将DEFINER指定为您以外的其他人,除非您拥有SUPER特权,因为那将是一个广泛开放的特权升级漏洞利用向量。

从语句中删除DEFINER,因为它毫无用处-执行CREATE语句时,定义器会自动设置为实际的定义用户-或正确设置它。