Приложение E Обновление таблицы истории резервных копий SBT
Таблица mysql.backup_sbt_history была обновлена с выпуском MySQL Enterprise Backup 8.0.21 следующим образом:
Изменён движок хранения с CSV на InnoDB
Добавлено новое поле автоинкремента для первичного ключа
id
Когда MySQL Enterprise Backup 8.4 пытается выполнить свою первую полную резервную копию базы данных, используя 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 8.4 на сервере 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 8.4, после чего их можно отозвать.
Если вы работаете с многоглавным окружением Group Replication, убедитесь, что эти привилегии предоставлены на всех первичных узлах; также см. Главу 9, «Использование MySQL Enterprise Backup с Group Replication».
© 2025 Oracle
Licensed under the GPLv2 License.