一、报错信息
[Err] 1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation
二、报错原因
#sql文件在导出的过程中会将存储过程、函数等导出到sql文件中,这类语句需要super权限执行
三、解决方案
方法一:授权用户super权限
update user set Super_priv='Y' where User='root';
flush privileges
#有的地方不支持授权super权限(比如腾讯云),所以可以用方法二
方法二:去除需要super权限的语句
awk '{ if (index($0,"GTID_PURGED")) { getline; while (length($0) > 0) { getline; } } else { print $0 } }' sorce.sql | grep -iv 'set @@' > your_revised.sql
sed -e 's/DEFINER[ ]*=[ ]*[^*]*\*/\*/ ' your_revised.sql > sorce.sql
#sorce.sql,改成你原有的sql文件名字,your_revised.sql这个名字随意,就是一个过度