mysql导入数据时报错:ERROR 1227 (42000) at line 18

221次阅读次阅读
没有评论

背景

从一个备份数据库还原数据到一个新的库,使用mysqldump导出

mysqldump -h  -u -p -t 数据库 表名 > data.sql
-h 指定数据库连接地址
-u 指定数据库用户名(-u紧跟用户名,无空格)
-p 指定数据库用户密码
-t 只导出数据,不包含结构等内容

执行后报错

ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER privilege(s) for this operation

解决

看报错内容为执行第18行时报错,查看导出的sql文件定位到18行

[root@aikx ~]# sed -n 18p data.sql
SET @@SESSION.SQL_LOG_BIN= 0;

话不多说直接百度解决方式(其实直接批量删除这条命令即可) mysql导入数据时报错:ERROR
mysqldump导出时添加--set-gtid-purged=off

mysqldump -h  -u -p -t 数据库 表名 --set-gtid-purged=off > data.sql

ok,这样导出后就可以直接导入了 mysql导入数据时报错:ERROR mysql导入数据时报错:ERROR mysql导入数据时报错:ERROR

加了–set-gtid-purged=OFF时,在会记录binlog日志,如果不加,不记录binlog日志,所以在我们做主从用了gtid时,用mysqldump备份时就要加–set-gtid-purged=OFF,否则你在主上导入恢复了数据,主没有了binlog日志,同步则不会被同步。
admin
版权声明:本站原创文章,由admin2020-12-22发表,共计873字。
转载提示:除特殊说明外本站文章皆由CC-4.0协议发布,转载请注明出处。
评论(没有评论)
载入中...