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

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

Режим только для чтения для соединения отключает любые изменения таблиц или глобальные изменения. Поэтому запросы типа 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