文章内容

2021/11/6 16:54:22,作 者: 黄兵

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

今天在做迁移的时候,导入到 RDS 中出现了如下错误:

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

出现问题的原因:

RDS 提供的 MySQL 服务器不允许 DEFINER 其他用户使用语法(以我的经验)。

解决方案:

您可以使用sed脚本将它们从文件中删除:

sed 's/\sDEFINER=`[^`]*`@`[^`]*`//g' -i /home/ubuntu/databases_name.sql

如果以上方法无效,可以试试下面这个方法:

如果您的转储文件没有 DEFINER ,请确保也删除下面的这些行(如果它们在那里),或者用 注释掉 -- :

开头部分:

-- SET @@SESSION.SQL_LOG_BIN= 0;
-- SET @@GLOBAL.GTID_PURGED=/*!80000 '+'*/ '';

结尾部分:

-- SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;


参考资料:

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


黄兵个人博客原创。

转载请注明出处:黄兵个人博客 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation

分享到:

发表评论

评论列表