无法在托管在amazon云上的mysql中创建触发器

无法在托管在amazon云上的mysql中创建触发器,mysql,amazon-web-services,triggers,Mysql,Amazon Web Services,Triggers,当我试图在mysql中创建一个简单的触发器时,我遇到下面的错误消息。请告诉我如何克服这个问题 delimiter $$ create trigger trg_addresses_ins before insert on addresses for each row begin declare msg varchar(128); if length(new.addressstate) > 2 then set msg = concat('MyTriggerE

当我试图在mysql中创建一个简单的触发器时,我遇到下面的错误消息。请告诉我如何克服这个问题

delimiter $$

create trigger trg_addresses_ins before insert on addresses
for each row
begin
   declare msg varchar(128);
     if length(new.addressstate) > 2 then
        set msg = concat('MyTriggerError: Trying to insert a state value of more than 2 character: ', new.addressstate);
    signal sqlstate '45000' set message_text = msg;
end if;
end$$

delimiter ;
`

错误代码:1419。您没有超级权限,并且二进制日志记录已启用(您可能希望使用不太安全的log\u bin\u trust\u function\u creators变量)0.078秒

超级用户已启用,但仍会收到相同的错误,并且我无法将与mysql aws db实例关联的数据库参数组更改为1。我无法修改db实例以选择新创建的组,因为参数组字段为只读

感谢您的宝贵意见


谢谢

我猜您使用的是无法修改的默认DB参数组,解决方案是您需要创建自己的参数组,并设置
log\u bin\u trust\u function\u creators=1
,并将您自己的参数组应用于当前实例。

我创建了新的参数组,但无法将默认组更改为此新组,因为已读取设置中的此字段only@Dex您不会更改默认组。您可以更改实例以使用新组。这将需要重新启动。@Michael sqlbot我知道我需要修改实例以使用新组,但问题是参数组是只读的,因此我无法修改实例。新参数组不应是只读的。创建一个的目的是让您可以修改它。