Spec-Zone.ru › MySQL 8.4

15.3.5 БЛОКИРОВАНИЕ ИНСТАНЦИИ ДЛЯ РЕЗЕРВНОГО КОПИРОВАНИЯ и РАЗБЛОКИРОВАНИЕ ИНСТАНЦИИ

LOCK INSTANCE FOR BACKUP

UNLOCK INSTANCE

LOCK INSTANCE FOR BACKUP приобретает блокировку на уровне экземпляра блокировки резервного копирования, которая разрешает DML во время онлайн-резервного копирования, одновременно предотвращая операции, которые могут привести к несогласованному снимку.

Выполнение заявления LOCK INSTANCE FOR BACKUP требует привилегии BACKUP_ADMIN. Привилегия BACKUP_ADMIN автоматически предоставляется пользователям с привилегией RELOAD при выполнении апгрейда MySQL 8.4 с более ранней версии.

Несколько сеансов могут одновременно удерживать блокировку резервного копирования.

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.
https://docs.oracle.com/cd/E17952_01/mysql-8.4-en/lock-instance-for-backup.html

Spec-Zone.ru

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