mysqlsh root@"localhost:3306"
# 查看集群名
JS> dba.getCluster();
JS> var cluster = dba.getCluster();
# 添加节点
JS > cluster.addInstance('root@192.168.244.129:3381')
JS > cluster.addInstance('root@192.168.244.129:3382')
# 查看集群状态
JS > cluster.status()
# 集群描述
JS > cluster.describe()
# 配置新主选举权重
JS > mycluster.addInstance('root@192.168.244.129:3381', {memberWeight:25})
JS > mycluster.addInstance('root@192.168.244.129:3382', {memberWeight:50})
# 指定一个新的主节点
JS > cluster.setPrimaryInstance('192.168.244.129:3381')
# 切换到多主模式 Cluster.switchToMultiPrimaryMode()
JS > cluster.switchToMultiPrimaryMode()
# 切换到单主模式 Cluster.switchToSinglePrimaryMode()
JS > cluster.switchToSinglePrimaryMode('172.16.1.125:3306')
# 检查节点配置实例,用于加入cluster之前
JS > dba.checkInstanceConfiguration("root@hostname:3306")
# 重启
JS > dba.rebootClusterFromCompleteOutage('mycluster');
# 删除schema
JS > dba.dropMetadataSchema();
# 检查cluster里节点状态
JS > cluster.checkInstanceState("root@hostname:3306")
# 检查/etc/my.cnf是否正常
JS > var cluster = dba.createCluster('myCluster');
# 重新加入节点
JS > cluster.rejoinInstance("root@hostname:3306")
# 删除节点
JS > cluster.removeInstance("root@hostname:3306")
# 强制删除节点
JS > cluster.removeInstance('root@host:3306',{force:true})
# 解散集群
JS > cluster.dissolve({force:true})
# 如何将Multi-Primary改为Single-Primary
a) 解散原来的集群:
JS > cluster.dissolve({force: true})
b) 每台主机MySQL修改如下配置:
mysql> set global group_replication_enforce_update_everywhere_checks=OFF;
mysql> set global group_replication_single_primary_mode=ON;
c) 重新创建集群:
JS > var cluster = dba.createCluster('mysqlCluster');
JS > cluster.addInstance('chianyu@svr2:3306');
JS > cluster.addInstance('chianyu@svr3:3306');
# 重置Innodb cluster集群环境:
主节点:登录mysql-shell清空集群
JS > dba.dropMetadataSchema();
mysql> stop group_replication;
清空日志,确保和从库的表没有冲突
mysql> reset master;
mysql> reset slave;
其他节点(主要清理和主库的主从信息, 确保主库和从库的表没有冲突)
mysql> stop group_replication;
mysql> reset master;
mysql> reset slave