No.46


【MySQL】DBリストア時に「Access denied」発生

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

 MySQLのデーターベースダンプデータリストア時にこのようなエラーが出ることがある。

 大抵は実行ユーザーの権限不足が原因なのだが、rootユーザーなどの全権限を持ったユーザーでもこの現象が発生してしまうことがある。

 わからないまま嵌まると時間をロスするが、わかってしまえば単純なエラーなのでメモしておく。


原因

 ダンプデータ中に記載されたユーザーとmysqlコマンドの実行ユーザーが異なっていることが原因。

 「rootとか全権限持ってるんだから許せよ」とは思わないでもないけど、このあたりを律儀にやってくれていることで担保できている安全があるのだろう。


対策

 以下の部分にダンプユーザー名が記載されている。

/*!50013 DEFINER=

 記載されているユーザーでリストアを実行するか、この行を削除してからリストアを実行すればOK。