在创建存储过程、函数、触发器、事件、视图的时候出现如下错误。
从本地数据库导出SQL,在RDS上应用该SQL的时候出现如下错误。
从RDS MySQL 5.6实例下载逻辑备份,导入到RDS或本地数据库中,出现如下错误,错误代码为1227和1725。
[Err] 1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation-common in RDS MySQL 5.6ERROR 1725 (HY000) at line 1936: OPERATION need to be executed set by ADMIN-common in RDS MySQL 5.5ERROR 1227 (42000) at line 2984: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
删除DEFINER语句。
• 检查SQL文件,删除类似如下SQL语句。
DEFINER=`root`@`%`
• 在Linux系统中,可以尝试使用如下命令删除。
sed -ie 's/DEFINER[ ]*=[ ]*[^ ]*/ / 'your.sql
删除GTID_PURGED语句。
• 检查SQL文件,删除类似如下SQL语句。
SET @@GLOBAL.GTID_PURGED='d0502171-3e23-11e4-9d65-d89d672af420:1-373, d5deee4e-3e23-11e4-9d65-d89d672a9530:1-616234';
• 在Linux系统中,可以尝试使用类似如下命令删除。
awk '{ if (index($0,"GTID_PURGED")) { getline; while (length($0) > 0) { getline; } } else { print $0 } }' your.sql | grep -iv 'set @@' > your_revised.sql