mysqldumpでごっそりダンプしたsqlをそのままRDSに入れようとしたらエラー出た

1
ERROR 1419 (HY000) at line 93: You do not have the SUPER privilege and binary logging is enabled (you *might* want to use the less safe log_bin_trust_function_creators variable)

対象のエラー行はこんな感じのSQLで、CREATE TRIGGERしようとしてた

1
93 /*!50003 CREATE*/ /*!50017 DEFINER=`username`@`%`*/ /*!50003 TRIGGER `hoge_trig` BEFORE INSERT ON `tbl_xxxx` FOR EACH ROW SET [以下略] */;;

対処(1) log_bin_trust_function_creators = 1

AWS RDS MySQL で create function できるようにする - Qiita

log_bin_trust_function_creators1をセットするとよいらしい。対象のパラメータグループにセットする

だめじゃん

しかし、これだけだとエラーが出た

1
ERROR 1227 (42000) Access denied; you need (at least one of) the SUPER privilege(s) for this operation

対処(2) DEFINERを削除

RDSのmysqlでトリガーが作れない I couldn’t create trigger in mysql RDS - Qiita

DEFINERを見るとたしかに、ローカルのユーザ名のままダンプされていたので削除したらうまくいった