Mysql导入sql脚提示ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER priv

使用mysqldump将数据导出到sql,再导入rds MySQL时。导入过程中可能会遇到以下错误:
ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER privilege(s) for this operation
 
1.问题原因:MySQL导入用户的权限问题。
处于安全考虑,rds MySQL的最高权限用户root是没有super权限的,当前自建用户也不能有super权限。但是用户执行导入的sql中,包含需要super权限的语句,所以会报错。
如果源库开启了GTID特性,使用mysqldump 导出数据时,没有添加选项--set-gtid-purged=OFF,导出的sql中就有存在以下需要super权限执行的语句:
SET @@SESSION.SQL_LOG_BIN= 0;
SET @@GLOBAL.GTID_PURGED=´18f9a804-343b-11e5-a21d-b083fed01601:1-2´;
2.解决办法
办法1:导出语句中添加选项**--set-gtid-purged=OFF**重新导出,再导入即可。
例如:
mysqldump -h192.168.8.77 -uroot -p123456 --set-gtid-purged=OFF rchz>D:\autobackup\rchz.sql
办法2:使用source方式导入,这种方式即使权限问题报错,剩余sql语句仍可继续执行,不影响最终数据。
mysql>source  /tmp/dump.sql
注意:sql文件的路径和权限
 
 
 mysql -hdb.com -P50003 -uroot -p'2sd7' open -e "source /root/open.sql"
 
 
 
  • 2
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值