MySQL ERROR 1227 (42000)错误处理
2022-11-30 18:35 abce 阅读(7364) 评论(0) 编辑 收藏 举报在还原数据库的时候,遇到以下报错:
ERROR 1227 (42000) at line 18: Access denied; you need (at least one of) the SUPER, SYSTEM_VARIABLES_ADMIN or SESSION_VARIABLES_ADMIN privilege(s) for this operation
从错误信息看,似乎是用户权限不够。但是,实际上不是权限的问题。
解决方案1:
重新mysqldump一份数据,在导出的时候,加上参数--set-gtid-purged=OFF,禁掉全局事务标识符。全局事务标识符会导致这个错误。
比如:
mysqldump --set-gtid-purged=OFF dbname > dump.sql
解决方案2:
直接修改备份生成的dump文件,移除其中的一些行。
在修改之前,建议将备份文件再做一次备份。
移除以下三行:
SET @@SESSION.SQL_LOG_BIN= 0; SET @@GLOBAL.GTID_PURGED=/*!80000 '+'*/ ''; SET @@SESSION.SQL_LOG_BIN = @MYSQLDUMP_TEMP_LOG_BIN;
然后再重新还原数据。