读写分离集群(RW)语法

语法

alter_database ::=

add_node ::=

set_node ::=

参数

dbname

当前数据库名。

node_id

节点id,取值范围1到9,节点之间id不能重复。如果添加节点时不指定,数据库会自动分配一个。

node_addr

节点IP或域名

注解

添加节点的的时候,只能使用域名或ip其中的一种。如果第一次添加节点使用的是域名,其他的节点也只能使用域名添加。反之,第一次添加节点使用ip添加,其他的节点也只能使用ip添加。

weight

节点的权值,取值范围[0,127],默认权值为0。主机会将master让给比自己权值大而且日志相同的同步备机。

SYNC

节点是同步节点,集群系统中的master在同步节点之间选举产生。主机上的更新事务提交需要大多数同步节点将事务的日志回刷到文件。

ASYNC

节点是异步节点,不参与master选举,也不影响主机上的更新事务提交。

注解

除了添加集群的第一个节点以外,其它时候添加同步节点,会先添加成异步节点,待此节点的日志同步上主机的日志后, 再自动再转换成同步节点,这样在转成同步节点之前,不会影响集群其它更新事务的提交。

示例

示例1:

alter database add node 6 '192.168.1.52' SYNC WEIGHT 10; -- 通过ip添加同步节点

alter database add node 7 'node1' SYNC WEIGHT 10; -- 通过域名添加同步节点

alter database alter node 6 weight 10; --修改节点权值

alter database alter node 6 async; --设置成异步节点

alter database alter node 6 sync; --设置成同步节点

alter database remove node '192.168.1.52'; -- 根据ip来删除节点。

alter database remove node 'node1'; -- 根据域名来删除节点。

alter database remove node 6; -- 根据id来删除节点。

alter database set node list node '192.168.1.52', node '192.168.1.62', node '192.168.1.72'; -- 只有普通模式下支持此语法

alter database set node list node 'node1', node 'node2', node 'node3'; -- 只有普通模式下支持此语法