Spec-Zone.ru › MySQL Enterprise Backup 8.4
Приложение E Обновление таблицы истории резервных копий SBT

Приложение 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), он пытается автоматически обновить таблицу, выполнив следующие шаги:

  1. Создать таблицу с новым форматом, названную mysql.backup_sbt_history_new, и скопировать в неё данные из исходной таблицы mysql.backup_sbt_history.

  2. Переименовать исходную таблицу mysql.backup_sbt_history в mysql.backup_sbt_history_old, а таблицу mysql.backup_sbt_history_new в mysql.backup_sbt_history.

  3. Удалить таблицу 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.
https://docs.oracle.com/cd/E17952_01/mysql-enterprise-backup-8.4-en/backup-sbt-history-table-update.html

Spec-Zone.ru

Настройки Оффлайн Что нового Помощь О нас
Spec-Zone .ru
спецификации, руководства, описания, API