对于大多数备份操作,mysqlbackup--user命令使用和
--password选项
提供的凭据连接到 MySQL 服务器。指定
user需要一定的权限。您可以创建具有最小权限集的新用户,也可以使用管理帐户(例如 root)。以下是mysqlbackup所需的权限:
mysqlbackup连接到服务器 的 MySQL 用户的最低权限 是:
RELOAD在所有数据库和表上。CREATE,INSERT,DROP, andUPDATE在表上mysql.backup_progressandmysql.backup_history, alsoSELECTand ALTER onmysql.backup_history.SUPER,以启用和禁用日志记录,并优化锁定以最大程度地减少对数据库处理的中断。REPLICATION CLIENT, 检索 与备份一起存储 的二进制日志位置。PROCESS, 处理带有子句的 DDL 语句ALGORITHM = INPLACE。SELECTonperformance_schema.replication_group_members,了解服务器实例是否是组复制设置的一部分,如果是,则收集有关组成员的信息(4.1.2 及更高版本要求)。
要创建一个 MySQL 用户(
mysqlbackup在本例中)并为用户设置上述权限以从本地主机连接,请从mysql客户端程序发出如下语句:CREATE USER 'mysqlbackup'@'localhost' IDENTIFIED BY 'password'; GRANT RELOAD, SUPER, PROCESS ON *.* TO 'mysqlbackup'@'localhost'; GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_progress TO 'mysqlbackup'@'localhost'; GRANT CREATE, INSERT, SELECT, DROP, UPDATE, ALTER ON mysql.backup_history TO 'mysqlbackup'@'localhost'; GRANT REPLICATION CLIENT ON *.* TO 'mysqlbackup'@'localhost'; GRANT SELECT ON performance_schema.replication_group_members TO 'mysqlbackup'@'localhost';在从 5.7.22 或更早版本升级且之前已通过 MySQL Enterprise Backup 备份的 MySQL Server 上首次使用 MySQL Enterprise Backup 4.1.2 或更高版本 时,需要以下额外权限 :
CREATE,INSERT, 和DROP上mysql.backup_history_old。CREATE,INSERT,DROP和ALTER上mysql.backup_history_new。
通过在mysql客户端 发出这些示例语句来授予这些权限:
GRANT CREATE, INSERT, DROP ON mysql.backup_history_old TO 'mysqlbackup'@'localhost'; GRANT CREATE, INSERT, DROP, ALTER ON mysql.backup_history_new TO 'mysqlbackup'@'localhost';笔记如果您正在使用多主组复制设置,请确保在所有主节点上授予这些权限;另请参阅 第 8 章,将 MySQL 企业备份与组复制结合使用。
这些权限用于尝试将
mysql.backup_history表迁移到更新的格式(有关详细信息,请参阅附录 D,备份历史表更新 ),并且在 MySQL Enterprise Backup 4.1.2 或更高版本的第一次备份操作发生后不再需要它们在服务器上,到那时它们可以被撤销。使用 MySQL Enterprise Backup 的特定功能需要以下额外权限:
使用 可传输表空间 (TTS)备份和恢复 InnoDB 表:
LOCK TABLES和SELECT备份表。CREATE用于恢复表。DROP用于在由于某些原因恢复失败时删除表。FILE用于恢复服务器数据目录之外的外部表空间中的表。
-
CREATE,INSERT,DROP, 和UPDATE在mysql.backup_sbt_history桌子上
如果您正在使用需要它们的功能,请设置这些额外权限。
mysql要设置所有这些,请从客户端程序 发出如下语句 :GRANT LOCK TABLES, SELECT, CREATE, DROP, FILE ON *.* TO 'mysqlbackup'@'localhost'; GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_sbt_history TO 'mysqlbackup'@'localhost';有关将 MySQL Enterprise Backup 与 Group Replication 设置一起使用所需的权限,请参阅 第 8 章,将 MySQL Enterprise Backup 与 Group Replication 一起使用。