最近需要备份迁移RDS数据库,备份下来的库7G左右,备份下来的SQL文件里有几行参数删掉才能导入新的数据库里,记录下此次过程!
导入报错信息如下:
Err]1227 - Access denied; you need (at least one of) the SUPER privilege(s) for this operation-- MySQL dump 10.13 Distrib 5.6.32, for linux(x86_64)---- Host;.....
根据提示说是没有权限,但是确认过是有读写的权限的,然后查资料查到需要把set相关的语句删掉即可,一共有四行。这里我把语句贴出来 应该都大同小异。
SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;SET @@SESSION.SQL_LOG_BIN= 0;SET @@GLOBAL.GTID_PURGED='55a52aexxxxxxxxxxx-xxxx';SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
由于文件较大,服务器配置略低,这里我使用sed命令来删除这几行
sed -i 's/SET @MYSQLDUMP_TEMP_LOG_BIN = @@SESSION.SQL_LOG_BIN;/ /g' backup.sqlsed -i 's/SET @@SESSION.SQL_LOG_BIN= 0;/ /g' backup.sqlsed -i 's/SET @@GLOBAL.GTID_PURGED='55a52aexxxxxxxxxxx-xxxx';/ /g' backup.sqlsed -i 's/SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;/ /g' backup.sql
删除以后就可以导入了。这里我使用命令行恢复
mysql -h 192.168.1.x -u username -p password -P 3306 db_name < backup.sql
参考地址:/oldboyooxx/p/9764611.html
如果觉得《阿里云RDS数据库备份迁移遇到的问题》对你有帮助,请点赞、收藏,并留下你的观点哦!