备份mysql失败,错误信息[Xtrabackup] failed to execute query "LOCK
INSTANCE FOR BACKUP" : 1227 (42000) Access denied; you need (at least one of)
the BACKUP_ADMIN privilege(s) for this operation
这个问题是由于MySQL8.0增加了新特性备份锁,关于备份锁以及BCKUP_ADMIN权限的介绍如下
*备份锁
引入了一种新的备份锁(backup lock),它允许在online备份的时候进行DML操作,同时可防止快照不一致。备份锁由lock instance for backup和unlock instance语法支持。使用这些语句需要BACKUP_ADMIN权限。
原来的extrabackup等备份软件是不是应该改写,不要使用flush table with read lock这样的语句来上锁。
当有大事务时,会hung住,无法备份。
如果采用lock instance for backup则没有问题。
解决方法:
通过登录客户的MySQL并使用show grants命令查看,用户的确没有给用户授予BACKUP_ADMIN的权限.
使用以下命令给root用户赋予BACKUP_ADMIN后备份就正常了
GRANT BACKUP_ADMIN, PROCESS, RELOAD, LOCK TABLES, REPLICATION CLIENT ON *.* TO "root"@"localhost";
该案例暂时没有网友评论
✖
案例意见反馈
亲~登录后才可以操作哦!
确定你的邮箱还未认证,请认证邮箱或绑定手机后进行当前操作