该mysql.backup_history
表已通过以下方式随着 MySQL Enterprise Backup 4.1.2 的发布进行了更新:
将存储引擎从 CSV 更改为 InnoDB
为服务器 UUID 添加了一个新列
当 MySQL Enterprise Backup 4.1.2 尝试在数据库上执行其第一次完整备份时,它会尝试通过以下步骤自动对表执行格式更新:
以新格式创建一个名为的表 ,并将原始 表中
mysql.backup_history_new
的数据复制到其中。mysql.backup_history
将原
mysql.backup_history
表重命名为mysql.backup_history_old
,将mysql.backup_history_new
表重命名为mysql.backup_history
。
为了成功迁移到新的表格式,在使用 MySQL Enterprise Backup 4.1.2 执行第一个备份任务之前,
通过在mysqlmysqlbackup
客户端发出以下语句,向服务器上的用户授予所需的权限:
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';
如果未授予这些权限,升级后的服务器上的第一次完整备份将失败,并显示类似于以下内容的错误消息:
180612 08:40:45 MAIN ERROR: MySQL query 'DROP TABLE IF EXISTS mysql.backup_history_old': 1142, DROP command denied to user 'mysqlbackup'@'localhost' for table 'backup_history_old'
mysqlbackup failed with errors!
在 MySQL Enterprise Backup 4.1.2 执行第一次完整备份后,不再需要这些权限,此时可以撤销这些权限。
如果您正在使用多主组复制设置,请确保在所有主节点上授予这些权限;另请参阅第 8 章,将 MySQL 企业备份与组复制结合使用。