15.3.5 БЛОКИРОВКА ИНСТАНЦИИ ДЛЯ РЕЗЕРВНОГО КОПИРОВАНИЯ и РАЗБЛОКИРОВКА ИНСТАНЦИИ
LOCK INSTANCE FOR BACKUP
UNLOCK INSTANCE
Заявление LOCK INSTANCE FOR BACKUP приобретает блокировку на уровне экземпляра (блокировка резервного копирования), которая разрешает DML во время онлайн-резервного копирования, одновременно предотвращая операции, которые могут привести к несогласованному снимку.
Для выполнения заявления LOCK INSTANCE FOR BACKUP требуется привилегия BACKUP_ADMIN. Привилегия BACKUP_ADMIN автоматически предоставляется пользователям с привилегией RELOAD при выполнении апгрейда MySQL 9.2 с более ранней версии на месте.
Несколько сеансов могут одновременно удерживать блокировку резервного копирования.
Заявление UNLOCK INSTANCE освобождает блокировку резервного копирования, удерживаемую текущим сеансом. Блокировка резервного копирования, удерживаемая сеансом, также освобождается, если сеанс завершается.
Заявление LOCK INSTANCE FOR BACKUP предотвращает создание, переименование или удаление файлов. REPAIR
TABLE TRUNCATE TABLE, OPTIMIZE TABLE и заявления управления учетными записями заблокированы. См. Раздел 15.7.1, «Заявления управления учетными записями». Также блокируются операции, изменяющие InnoDB файлы, которые не записаны в InnoDB журнал отката.
Заявление LOCK INSTANCE FOR BACKUP разрешает операции DDL, которые влияют только на временные таблицы, созданные пользователем. Фактически, файлы, принадлежащие временным таблицам, созданным пользователем, могут быть созданы, переименованы или удалены, когда удерживается блокировка резервного копирования. Также разрешается создание файлов двоичного протокола.
Заявление PURGE BINARY LOGS не может быть выполнено, когда для экземпляра действует заявление LOCK INSTANCE FOR BACKUP, так как это противоречит правилам блокировки резервного копирования, удаляя файлы с сервера.
Блокировка резервного копирования, приобретенная заявлением LOCK INSTANCE FOR
BACKUP, независима от транзакционных блокировок и блокировок, взятых заявлением FLUSH
TABLES , и разрешены следующие последовательности заявлений:tbl_name [,
tbl_name] ... WITH READ LOCK
LOCK INSTANCE FOR BACKUP;
FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK;
UNLOCK TABLES;
UNLOCK INSTANCE;
FLUSH TABLES tbl_name [, tbl_name] ... WITH READ LOCK;
LOCK INSTANCE FOR BACKUP;
UNLOCK INSTANCE;
UNLOCK TABLES;
Значение параметра lock_wait_timeout определяет время ожидания заявления LOCK INSTANCE FOR
BACKUP для приобретения блокировки перед отказом.
© 2025 Oracle
Licensed under the GPLv2 License.