4.1.2 Предоставление привилегий MySQL администратору резервного копирования
Для большинства операций резервного копирования команда mysqlbackup подключается к серверу MySQL с использованием учетных данных, предоставленных опциями --user и --password. Указанному user требуются определённые привилегии. Вы можете создать нового пользователя с минимальным набором привилегий или использовать учётную запись администратора, например, root. Ниже приведены привилегии, необходимые для mysqlbackup:
-
Минимальные привилегии для пользователя MySQL, с которым mysqlbackup подключается к серверу:
RELOADко всем базам данных и таблицам.CREATE,INSERT,DROPиUPDATEк таблицамmysql.backup_progressиmysql.backup_history, а такжеSELECTи ALTER кmysql.backup_history.SUPER, для включения и отключения ведения журнала и оптимизации блокировок, чтобы свести к минимуму прерывание обработки данных базы.REPLICATION CLIENT, для получения позиции, которая хранится вместе с резервной копией.PROCESS, для обработки операторов DDL с клаузойALGORITHM = INPLACE.SELECTкperformance_schema.replication_group_members, для определения, является ли экземпляр сервера частью настройки Group Replication, и, если да, для сбора информации о членах группы (требуется для версии 4.1.2 и более поздних).
Для создания пользователя MySQL (
mysqlbackupв этом примере) и установки вышеупомянутых привилегий для подключения пользователя с localhost, выполните такие операторы из программы-клиентаmysql:CREATE USER 'mysqlbackup'@'localhost' IDENTIFIED BY 'password'; GRANT RELOAD, SUPER, PROCESS ON *.* TO 'mysqlbackup'@'localhost'; GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_progress TO 'mysqlbackup'@'localhost'; GRANT CREATE, INSERT, SELECT, DROP, UPDATE, ALTER ON mysql.backup_history TO 'mysqlbackup'@'localhost'; GRANT REPLICATION CLIENT ON *.* TO 'mysqlbackup'@'localhost'; GRANT SELECT ON performance_schema.replication_group_members TO 'mysqlbackup'@'localhost'; -
Следующие дополнительные привилегии необходимы при первом использовании MySQL Enterprise Backup 4.1.2 или более поздней версии на сервере MySQL, обновлённом с 5.7.22 или более ранней версии и уже резервировавшемся с помощью 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 с несколькими первичными серверами, убедитесь, что эти привилегии предоставлены на всех первичных узлах; см. также Главу 8, Использование MySQL Enterprise Backup с Group Replication.
Эти привилегии необходимы для попытки миграции таблицы
mysql.backup_historyв более новый формат (см. Приложение D, Обновление таблицы истории резервных копий для получения подробностей), и они больше не нужны после первой операции резервного копирования MySQL Enterprise Backup 4.1.2 или более поздней версии на сервере, после чего их можно отозвать. -
Следующие дополнительные привилегии необходимы для использования определённых функций MySQL Enterprise Backup:
-
Для использования для резервного копирования и восстановления таблиц InnoDB:
LOCK TABLESиSELECTдля резервного копирования таблиц.CREATEдля восстановления таблиц.DROPдля удаления таблиц, если восстановление завершается ошибкой по каким-либо причинам.FILEдля восстановления таблиц во внешних табличных пространствах за пределами каталога данных сервера.
-
Для создания резервных копий на ленту с помощью API системы резервного копирования на ленту (SBT):
CREATE,INSERT,DROPиUPDATEк таблицеmysql.backup_sbt_history
Установите эти дополнительные привилегии, если вы используете функции, которые их требуют. Для установки всех привилегий, выполните оператор, подобный следующему, в программе-клиенте
mysql:GRANT LOCK TABLES, SELECT, CREATE, DROP, FILE ON *.* TO 'mysqlbackup'@'localhost'; GRANT CREATE, INSERT, DROP, UPDATE ON mysql.backup_sbt_history TO 'mysqlbackup'@'localhost'; -
Привилегии, необходимые для использования MySQL Enterprise Backup с настройкой Group Replication, см. в Главе 8, Использование MySQL Enterprise Backup с Group Replication.
© 2025 Oracle
Licensed under the GPLv2 License.