MGR常用操作命令及命令含义

MGR 的常用操作
1.创建集群
var cluster = dba.createCluster(‘Cluster01’)

2.给集群分配变量
将集群 Cluster01 分配给变量 cluster,如果刚通过 1 中的方式创建了集群,则可以不执行,如果是创建完集群,又退出了 MySQL Shell,则需要执行,方便后面命令执行。
var cluster = dba.getCluster(‘Cluster01’)

3 获取集群结构信息
cluster.describe()

4 查看集群状态
cluster.status()

这里重点解释一下 status 列,表示该节点的状态,可能是下面几种值:
ONLINE:实例在线并加入集群。
OFFLINE:该实例已失去与其他实例的连接。
RECOVERING:该实例正在检索它需要的事务来与集群同步 。
UNREACHABLE:实例已失去与集群的通信。
ERROR:实例在恢复阶段或应用事务时遇到错误

5.配置检查
新节点加入集群之前,检查配置是否正确
dba.checkInstanceConfiguration(‘mgr_user@node1:3306’)

6 节点验证
验证新加节点上的数据是否会阻止它加入集群:
cluster.checkInstanceState(‘mgr_user@node4:3306’)
输出可以是下面这些情况:
OK new:实例没有执行任何 GTID 事务,因此不会与集群执行的 GTID 冲突。
OK 可恢复:实例执行的 GTID 与集群种子实例执行的 GTID 不冲突。
ERROR diverged: 实例执行的 GTID 与集群种子实例执行的 GTID 不一致。
ERROR lost_transactions:实例执行的 GTID 比集群种子实例的执行 GTID 多。
State 为 ok,表示可以加入集群。

7.增加实例
cluster.addInstance(‘mgr_user@node1:3306’);
8.删除实例
cluster.removeInstance(‘mgr_user@node1:3306’);
9 列出集群中实例的配置
cluster.options()
10 更改集群全局配置
cluster.setOption(option, value)
11 更改集群单个实例的配置
cluster.setInstanceOption(instance, option, value)
12 将实例重新加入集群
cluster.rejoinInstance(instance)

13 使用仲裁恢复集群
如果部分实例故障,导致集群可能失去法定投票人数,无法进行投票,则可以选择一个包含集群元数据的实例,执行仲裁操作,从而恢复集群。这种方式也是在集群恢复过程中,其他方法都无法恢复集群情况下,最后的操作,通常不建议使用,可能会导致集群脑裂。
命令如下
cluster.forceQuorumUsingPartitionOf(‘mgr_user@node1:3306’);
14 切换到多主模式
cluster.switchToMultiPrimaryMode()

15 切换到单主模式
cluster.switchToSinglePrimaryMode(‘node3:3306’)
如果指定了节点,则该实例将成为主节点;如果没有指定节点,则新主是权重最高的节点,权重相同时,则新主是 UUID 最低的节点

16 更新集群元数据
cluster.rescan()
比如我们手动更改了实例的配置,或者实例退出集群之后,需要更新集群的元数据,则可以使用该命令。rescan() 操作可以检测没有在元数据中注册的新活动实例并添加它们,或者删除在元数据中的过时实例

你可能感兴趣的:(Mysql,运维,数据库)