在还原数据库的时候,遇到以下报错:
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;
标签:1227,BIN,LOG,42000,SESSION,ERROR,错误处理
From: https://www.cnblogs.com/wangupai/p/18097101