≫ Безопасность

Режим только для чтения

Режим только для чтения для соединения отключает любые изменения таблиц или глобальные изменения. Поэтому запросы типа create, drop, различные виды alter, attach, optimize и запросы на изменение данных, такие как insert, replace, delete, update и другие, будут отклонены. Также в этом режиме невозможно изменять глобальные настройки демона с помощью SET GLOBAL.

Однако вы всё ещё можете выполнять все операции поиска, генерировать сниппеты и запускать запросы CALL PQ. Дополнительно вы можете изменять локальные (для соединения) настройки.

Чтобы проверить, находится ли ваше текущее соединение в режиме только для чтения или нет, выполните оператор show variables like 'session_read_only'. Значение 1 означает режим только для чтения, а 0 — не в режиме только для чтения (обычный режим).

Активация

Обычно вы определяете отдельную директиву listen в режиме только для чтения, добавляя к ней суффикс _readonly. Однако это можно сделать и интерактивно для текущего соединения, выполнив оператор SET ro=1 через SQL.

Деактивация

Если вы подключены к сокету VIP, вы можете выполнить SET ro=0 (даже если сокет, к которому вы подключены, был определён как только для чтения в конфиге, а не интерактивно). Это переключит соединение в обычный режим (не только для чтения) с разрешёнными всеми изменениями.

Для стандартных (не-VIP) соединений выход из режима только для чтения возможен только путём переподключения, если режим был установлен интерактивно, либо путём обновления конфигурационного файла и перезапуска демона.

Last modified: August 28, 2025