4.1.2 授予备份管理员MySQL权限

对于大多数备份操作,mysqlbackup--user命令使用和 --password选项 提供的凭据连接到 MySQL 服务器。指定 user需要一定的权限。您可以创建具有最小权限集的新用户,也可以使用管理帐户(例如 root)。

mysqlbackup连接到服务器 的 MySQL 用户的最低权限 是:

  • RELOAD在所有数据库和表上。

  • CREATE, INSERT, DROP, 和UPDATE在桌子上mysql.backup_progressmysql.backup_history, 也 SELECTALTERmysql.backup_history

  • SUPER,以启用和禁用日志记录,并优化锁定以最大程度地减少对数据库处理的中断。

  • REPLICATION CLIENT, 检索 与备份一起存储 的二进制日志位置。

要为从本地主机连接的 MySQL 用户(在此示例中)设置这些权限,请从客户端程序 mysqlbackup发出如下语句 :mysql

GRANT RELOAD ON *.* TO 'mysqlbackup'@'localhost';
GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_progress TO 'mysqlbackup'@'localhost';
GRANT CREATE, INSERT, SELECT, ALTER, DROP, UPDATE ON mysql.backup_history 
    TO 'mysqlbackup'@'localhost';
GRANT REPLICATION CLIENT ON *.* TO 'mysqlbackup'@'localhost';
GRANT SUPER ON *.* TO 'mysqlbackup'@'localhost';

使用可传输表空间 (TTS)备份和恢复 InnoDB 表 需要以下额外权限 :

  • LOCK TABLESSELECT备份表。

  • CREATE用于恢复表。

  • DROP用于在由于某些原因恢复失败时删除表。

  • FILE用于恢复服务器数据主管之外的外部表空间中的表。

mysql要设置这些权限,请从客户端程序 发出如下语句:

GRANT LOCK TABLES, SELECT, CREATE, DROP, FILE ON *.* TO 'mysqlbackup'@'localhost';