Spec-Zone.ru › MySQL Enterprise Backup 9.2

4.1.2 Назначение привилегий MySQL администратору резервного копирования

Команда mysqlbackup подключается к серверу MySQL, используя данные для авторизации, указанные в опциях --user и --password. Указанному user необходимы определённые привилегии. Можно либо создать нового пользователя с ограниченным набором привилегий, либо использовать учётную запись администратора, например, root. Вот привилегии, необходимые для mysqlbackup:

  • Минимальный набор привилегий для пользователя MySQL, с которым mysqlbackup подключается к серверу, включает:

    • SELECT для всех баз данных и таблиц, для блокировок таблиц, защищающих резервные копии от несогласованности, вызванной параллельными операциями DDL.

    • BACKUP_ADMIN для всех баз данных и таблиц.

    • RELOAD для всех баз данных и таблиц.

    • SUPER для включения и отключения журналирования и для оптимизации блокировок, чтобы свести к минимуму прерывания обработки баз данных.

    • REPLICATION CLIENT для извлечения позиции, которая хранится с резервной копией.

    • PROCESS для обработки операторов DDL с клаузой ALGORITHM = INPLACE.

    • CREATE, INSERT, DROP и UPDATE для таблиц mysql.backup_progress и mysql.backup_history, а также SELECT и ALTER для mysql.backup_history.

    Для создания пользователя MySQL (mysqlbackup в этом примере) и настройки вышеупомянутых привилегий для подключения пользователя из localhost, выполните операторы, подобные следующим, используя программу-клиент mysql:

    CREATE USER 'mysqlbackup'@'localhost' IDENTIFIED BY 'password';
    GRANT SELECT, BACKUP_ADMIN, RELOAD, PROCESS, SUPER, REPLICATION CLIENT ON *.*
        TO `mysqlbackup`@`localhost`;
    GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_progress TO 'mysqlbackup'@'localhost';
    GRANT CREATE, INSERT, DROP, UPDATE, SELECT, ALTER ON mysql.backup_history
        TO 'mysqlbackup'@'localhost';
  • Следующие дополнительные привилегии необходимы для использования определенных функций MySQL Enterprise Backup:

    • Для использования для резервного копирования и восстановления таблиц InnoDB:

      • LOCK TABLES для резервного копирования таблиц. CREATE для восстановления таблиц.

      • DROP для удаления таблиц, если восстановление не удается по каким-либо причинам.

      • FILE для восстановления таблиц во внешних табличных пространствах вне каталога данных сервера.

    • Для создания резервных копий на ленте с помощью API System Backup to Tape (SBT):

      • CREATE, INSERT, DROP и UPDATE для таблицы mysql.backup_sbt_history

    • Для работы с зашифрованными табличными пространствами InnoDB:

      • для включения вращения ключа шифрования InnoDB.

    • Для резервного копирования и восстановления созданных пользователем таблиц, не являющихся InnoDB:

      • LOCK TABLES для всех схем, содержащих созданные пользователем таблицы, не являющиеся InnoDB

    • Для использования для резервных копий:

      • INNODB_REDO_LOG_ARCHIVE для вызова функции innodb_redo_log_archive_start().

    • Для раздела 5.1.4 «Восстановление на уровне таблицы (TLR)»:

      • INSERT и ALTER для обновления таблиц

    Установите эти дополнительные привилегии, если вы используете функции, которые их требуют. Для установки всех из них выполните операторы, подобные следующим, используя программу-клиент mysql:

    GRANT LOCK TABLES, CREATE, DROP, FILE, INSERT, ALTER ON *.* TO 'mysqlbackup'@'localhost';
    GRANT CREATE, DROP, UPDATE ON mysql.backup_sbt_history TO 'mysqlbackup'@'localhost';
    GRANT ENCRYPTION_KEY_ADMIN ON *.* TO 'mysqlbackup'@'localhost';
    GRANT INNODB_REDO_LOG_ARCHIVE ON *.* TO 'mysqlbackup'@'localhost';
  • Для привилегий, необходимых для использования MySQL Enterprise Backup с настройкой Group Replication, см. Главу 9, Использование MySQL Enterprise Backup с Group Replication.

  • Следующие дополнительные привилегии могут потребоваться после обновления сервера:

    • При первом использовании MySQL Enterprise Backup 9.2 на сервере MySQL, обновлённом с 8.0.18 или более ранних версий, и уже резервированном MySQL Enterprise Backup:

      • ALTER для mysql.backup_progress.

      • CREATE, INSERT и DROP для mysql.backup_progress_old.

      • CREATE, INSERT, DROP и ALTER для mysql.backup_progress_new.

      Назначьте эти привилегии, выполнив эти примерные операторы в клиенте mysql:

      GRANT ALTER ON mysql.backup_progress TO 'mysqlbackup'@'localhost';
      GRANT CREATE, INSERT, DROP ON mysql.backup_progress_old TO 'mysqlbackup'@'localhost';
      GRANT CREATE, INSERT, DROP, ALTER ON mysql.backup_progress_new TO 'mysqlbackup'@'localhost';
      Примечание

      Если вы работаете с многопервичной настройкой Group Replication, убедитесь, что эти привилегии назначены на все первичные узлы; см. также Главу 9, Использование MySQL Enterprise Backup с Group Replication.

      Эти привилегии предназначены для попытки миграции таблицы mysql.backup_progress в новый формат (см. Приложение F, Обновление таблицы прогресса резервного копирования для получения подробностей), и они больше не нужны после первой операции резервного копирования MySQL Enterprise Backup 9.2 на сервере, после чего их можно отозвать.

    • При первом использовании MySQL Enterprise Backup 9.2 на сервере MySQL, обновлённом с 8.0.11 или более ранних версий, и уже резервированном MySQL Enterprise Backup:

      • CREATE, INSERT и DROP для mysql.backup_history_old.

      • CREATE, INSERT, DROP и ALTER для mysql.backup_history_new.

      Назначьте эти привилегии, выполнив эти примерные операторы в клиенте mysql:

      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';
      Примечание

      Если вы работаете с многопервичной настройкой Group Replication, убедитесь, что эти привилегии назначены на все первичные узлы; см. также Главу 9, Использование MySQL Enterprise Backup с Group Replication.

      Эти привилегии предназначены для попытки миграции таблицы mysql.backup_history в новый формат (см. Приложение D, Обновление таблицы истории резервных копий для получения подробностей), и они больше не нужны после первой операции резервного копирования MySQL Enterprise Backup 9.2 на сервере, после чего их можно отозвать.

END_OF_DOCUMENT_MARKER
Примечание

Убедитесь, что ограничение MAX_QUERIES_PER_HOUR не установлено для пользователя, используемого командой mysqlbackup для доступа к серверу, иначе операции резервного копирования могут завершиться неожиданно.

© 2025 Oracle
Licensed under the GPLv2 License.
https://docs.oracle.com/cd/E17952_01/mysql-enterprise-backup-9.2-en/mysqlbackup.privileges.html

Spec-Zone.ru

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