Aurora(MySQL)でCREATE VIEWしたらエラーが出た

初めに

Auroraを使って環境構築したときにビューを作成しようとして失敗した。
解決にかなり時間がかかってしまったので、今後忘れないようにメモ書き。

状況

前環境の構築に使ったCREATE VIEWを実行すると、以下のエラーが出て失敗した。
(権限がないと怒られた…)

怒られたSQL

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`192.0.2.0:80` SQL SECURITY DEFINER VIEW `example_view` AS ~

エラーメッセージ

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

原因と対処方法

元々のSQLではユーザの後にIPアドレスを指定していた。
Auroraの場合は、IPアドレスではなく、`%`を指定する必要があった。

実行すべきだったSQL

CREATE ALGORITHM=UNDEFINED DEFINER=`root`@`%` SQL SECURITY DEFINER VIEW `example_view` AS ~

AWSの知識はもちろん、SQLの知識も不足しすぎてて調査に無駄に時間がかかった。
Amazon RDSでのMySQLでは、rootユーザでもSUPER権限を持っていないらしい。
今までAWSをまともに触ったことがなかったので、ちょっと勉強になった。

Sign up for free and join this conversation.
Sign Up
If you already have a Qiita account log in.