文章内容
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
评论列表