[TOC] # 修改集群参数 ## 通过 SQL 语句修改集群参数 集群参数即配置项,修改配置项的语法如下所示,同时修改多个系统配置项时,请用逗号(,)分隔。 ~~~ ALTER SYSTEM SET param_name = expr [COMMENT 'text'] [PARAM_OPTS] [TENANT = 'tenantname'] PARAM_OPTS: [ZONE='zone' | SERVER='server_ip:rpc_port'] ~~~ 参数修改语句说明如下: * `PARAM_OPTS`是修改配置项时所指定的其它限定条件,例如,指定 Zone、指定 Server 等。 * `ALTER SYSTEM`语句不能同时指定 Zone 和 Server。并且在指定 Zone 时,仅支持指定一个 Zone;指定 Server 时,仅支持指定一个 Server。 * 集群级别的配置项(`Scope`) 不能通过普通租户设置,也不可以通过 sys 租户指定普通租户来设置。例如,`ALTER SYSTEM SET memory_limit='100G' TENANT='test_tenant'`将导致报错,因为`memory_limit`是集群级别(`Scope`)的配置项。 集群级别与租户级别的配置项设置会有所不同: * 系统租户设置集群配置项的语法 ~~~ ALTER SYSTEM SET mysql_port=8888 [PARAM_OPTS] ~~~ * 系统租户设置租户配置项的语法 ~~~ ALTER SYSTEM SET sql_work_area='1G' [PARAM_OPTS] TENANT=all|TENANT_NAME|seed ~~~ * 租户设置租户配置项的语法 ~~~ ALTER SYSTEM SET sql_work_area='2G' [PARAM_OPTS] ~~~ 系统租户也可以使用该命令修改系统租户本身的租户配置项的值。 示例如下: * 系统租户设置集群配置项。 ~~~ obclient> ALTER SYSTEM SET mysql_port=8888; obclient> ALTER SYSTEM SET mysql_port=8888 ZONE='z1'; obclient> ALTER SYSTEM SET mysql_port=8888 SERVER='192.168.100.1:2882'; ~~~ * 系统租户设置租户配置项。 ~~~ obclient> ALTER SYSTEM SET sql_work_area='1G' tenant='test_tenant'; ~~~ * 租户设置租户配置项。 ~~~ obclient> ALTER SYSTEM SET sql_work_area='2G'; obclient> ALTER SYSTEM SET memory_limit = '100G' SERVER='192.168.100.1:2882'; obclient> ALTER SYSTEM SET memory_limit = '100G' ZONE='z1'; ~~~