• 只读

只读模式下,连接将禁止对表或全局设置的任何修改。因此,诸如 createdrop、各种类型的 alterattachoptimize 以及数据修改查询(例如 insertreplacedeleteupdate 等)都会被拒绝。在这种模式下,使用 SET GLOBAL 修改守护进程级别的设置也是不允许的。

然而,您仍然可以执行所有搜索操作、生成片段,并运行 CALL PQ 查询。此外,您可以修改本地(连接范围内)的设置。

要检查当前连接是否为只读模式,可以执行 show variables like 'session_read_only' 语句。如果返回值为 1,则表示连接处于只读模式;如果为 0,则表示连接为常规(非只读)模式。

激活

通常,您可以通过在配置中为 listen 指令添加后缀 _readonly 来定义只读模式。但是,您也可以通过 SQL 执行 SET ro=1 语句,交互式地为当前连接激活只读模式。

取消激活

如果您连接到 VIP 套接字,可以执行 SET ro=0(即使您连接的套接字在配置中被定义为只读),这将把连接切换到常规模式,允许所有修改操作。

对于标准(非 VIP)连接,如果只读模式是通过交互方式设置的,您可以通过重新连接退出只读模式;如果是通过配置文件设置的,则需要更新配置文件并重新启动守护进程来退出只读模式。

最后更新于