Приложение E Обновление таблицы истории резервного копирования SBT
Таблица mysql.backup_sbt_history была обновлена с выпуском MySQL Enterprise Backup 8.0.21 следующим образом:
Изменен движок хранения с CSV на InnoDB
Добавлено новое поле автоинкрементируемого первичного ключа
id
Когда MySQL Enterprise Backup 9.2 пытается выполнить первое полное резервное копирование базы данных, используя API SBT (подробности см. в Разделе 11.1, «Резервное копирование на ленту с помощью Oracle Secure Backup»), оно автоматически проверяет формат таблицы mysql.backup_sbt_history. Если обнаруживается, что таблица имеет старый формат (что означает, что сервер был обновлён с версии 8.0.20 или более ранней и был резервным копирован MySQL Enterprise Backup до использования API SBT), оно пытается автоматически обновить таблицу следующим образом:
Создать таблицу с новым форматом под названием
mysql.backup_sbt_history_newи скопировать в неё данные из исходной таблицыmysql.backup_sbt_history.Переименовать исходную таблицу
mysql.backup_sbt_historyвmysql.backup_sbt_history_old, и таблицуmysql.backup_sbt_history_newвmysql.backup_sbt_history.Удалить таблицу
mysql.backup_history_old.
Для успешной миграции на новый формат таблицы, перед выполнением первой задачи резервного копирования с использованием API SBT с MySQL Enterprise Backup 9.2 на сервере MySQL, который был обновлён с версии 8.0.20 или более ранней и был резервным копирован MySQL Enterprise Backup ранее с использованием API SBT, необходимо предоставить необходимые привилегии пользователю mysqlbackup на сервере, выполнив следующие команды в клиенте mysql:
GRANT ALTER ON mysql.backup_sbt_history TO 'mysqlbackup'@'localhost';
GRANT CREATE, INSERT, DROP ON mysql.backup_sbt_history_old TO 'mysqlbackup'@'localhost';
GRANT CREATE, INSERT, DROP, ALTER ON mysql.backup_sbt_history_new TO 'mysqlbackup'@'localhost';
Если эти привилегии не предоставлены, первое полное резервное копирование обновлённого сервера с использованием API SBT завершится ошибкой, подобной следующей:
200612 08:40:45 MAIN ERROR: MySQL query 'DROP TABLE IF EXISTS mysql.backup_sbt_history_old': 1142, DROP command denied to user 'mysqlbackup'@'localhost' for table 'backup_sbt_history_old'
mysqlbackup failed with errors!После выполнения первого полного резервного копирования с использованием API SBT MySQL Enterprise Backup 9.2 эти привилегии больше не нужны и могут быть отозваны.
Если вы работаете с настройкой групповой репликации с несколькими первичными узлами, убедитесь, что эти привилегии предоставлены на всех первичных узлах; см. также Главу 9, «Использование MySQL Enterprise Backup с групповой репликацией».
© 2025 Oracle
Licensed under the GPLv2 License.