0
点赞
收藏
分享

微信扫一扫

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

中间件小哥 2022-03-11 阅读 153
sqlmysql

使用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"

 

 

 

举报

相关推荐

将数据库导入mysql

0 条评论