关键字
BACKUP_ADMIN、MySQL、物理备份
适用产品
- AnyBackup CDM 7.0.13~7.0.x
- AnyBackup Express 7.0.13~7.0.x
问题描述
AnyBackup-Linux 环境下 MySQL 数据库定时物理备份失败,执行输出中提示错误信息:
任务失败,原因: 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

问题影响
AnyBackup 无法完成 MySQL 数据库备份。
问题原因
MySQL 数据库授权用户没有 BACKUP_ADMIN 权限。
解决方案
为了解决该问题,需要在 MySQL 数据库中授权 root 用户 BACKUP_ADMIN 权限,具体操作步骤如下:
1、执行以下命令后,输入数据库密码,登录 MySQL 数据库。
mysql -uroot -p
2、查看 root 用户权限。
show grants for 'root'@'%';

3、如果 root 用户没有 BACKUP_ADMIN 权限,则执行命令授权:
grant BACKUP_ADMIN on *.* to 'root'@'%';
FLUSH PRIVILEGES;

4、再次执行第 2 步,确保 root 用户已经拥有 BACKUP_ADMIN 权限,确认授权后再次执行 MySQL 备份任务。

更多信息
关于 BACKUP_ADMIN 权限,此权限为 MySQL8.0 新增权限,用于查询 performance_schema.log_status 和执行 lock instance for backup,lock binlog for backup,lock tables for backup。