Access denied; you need (at least one of) the SUPER privilege(s) for this operation
需求场景:
mysql数据迁移至阿里云RDS实例(阿里云mysql组件)
执行操作:
将可执行sql文件通过navicat导入阿里云mysql,导入过程中报错【Access denied; you need (at least one of) the SUPER privilege(s) for this operation】
问题原因:
SQL 语句中含有需要 Supper 权限才可以执行的语句,而 RDS MySQL不提供 Super 权限
解决方案:
检查 SQL 文件,去除下面类似的子句:
1.DEFINER=root
@%
2.SET @@GLOBAL.GTID_PURGED=‘d0502171-3e23-11e4-9d65-d89d672af420:1-373,
d5deee4e-3e23-11e4-9d65-d89d672a9530:1-616234’;
详见:https://developer.aliyun.com/article/66463
如果没使用阿里云的RDS实例,导入数据的时候报这个错的话,执行命令为当前数据库账号复权即可
命令为:GRANT ALL PRIVILEGES ON . TO ‘具体的账号’@‘%’ IDENTIFIED BY ‘密码’;