searchusermenu
  • 发布文章
  • 消息中心
点赞
收藏
评论
分享
原创

Mysqlshell支持5.7调研测试报告

2024-09-18 09:21:17
7
0

对比结果

集群类型 操作名称 函数名称 8.0 5.7 修改mysqlshell源码支持5.7 备注
cluster 配置实例 configure_local_instance 5.7版本中缺少auto.cnf文件,无法实现自动修改配置文件需执行dba.configure_local_instance()前手动修改mysql配置文件,加入binlog_checksum = NONE transaction_write_set_extraction = XXHASH64重启mysql
创建集群 create_cluster
查询状态 get_cluster
添加实例 add_instance
删除实例 remove_instance
解散集群 dissolve
设置主节点 set_primary_instance × ×
重新加入实例 rejoin_instance
重启集群 reboot_cluster_from_complete_outage
从仲裁丢失中恢复集群 force_quorum_using_partition_of
重新扫描集群 rescan
replica_set 配置实例 configure_replica_set_instance 不支持原因一:版本检查不支持,最低版本要求为8.0const mysqlshdk::utils::Version k_min_ar_version =mysqlshdk::utils::Version("8.0");原因二:5.7版本不支持persist关键字,导致系统变量READ_ONLY和SUPER_READ_ONLY设置不成功,接口出错。 5.7版本中缺少auto.cnf文件,无法实现自动修改配置文件需执行dba.configure_local_instance()前手动修改mysql配置文件,加入 transaction_write_set_extraction = XXHASH64重启mysql
创建集群 create_replica_set
查询状态 get_replica_set
添加实例 add_instance 5.7不支持"recoveryMethod=clone"选项
重新加入实例 rejoin_instance
删除实例 remove_instance
强制设置主节点 force_primary_instance
设置主节点 set_primary_instance
删除元数据 drop_metadata_schema

结论:

核心差异:

1、5.7不支持persist,需要参数预置。

2、5.7不支持"recoveryMethod=clone"选项,需要单独实现alldump。

Mysqlshell修改点:

1、replica_set所有API最低版本要求改为5.7。

2、用global关键字替换persist关键字。

//8.0/mysql-shell-8.0.30/modules/adminapi/common/async_topology.cc

 void fence_instance(mysqlshdk::mysql::IInstance *instance) {
   try {
   // fence with SET PERSIST but unfence with SET GLOBAL, so that instances are
   // SRO if they restart
+    if(!instance->is_set_persist_supported()) {
+      instance->set_sysvar("SUPER_READ_ONLY", true,
+                         mysqlshdk::mysql::Var_qualifier::GLOBAL);
+    }  else {
        instance->set_sysvar("SUPER_READ_ONLY", true,
                          mysqlshdk::mysql::Var_qualifier::PERSIST);
+    }
    
   } catch (const shcore::Error &e) {
     throw shcore::Exception::mysql_error_with_code(e.what(), e.code());
   }
   
 void unfence_instance(mysqlshdk::mysql::IInstance *instance, bool persist) {
   try {
+    if(!instance->is_set_persist_supported()) {
+      persist=false;
+    }  
    instance->set_sysvar("SUPER_READ_ONLY", false,
                         persist ? mysqlshdk::mysql::Var_qualifier::PERSIST
                                 : mysqlshdk::mysql::Var_qualifier::GLOBAL);
    // Set SUPER_READ_ONLY=1 will also set READ_ONLY
    instance->set_sysvar("READ_ONLY", false,
                         persist ? mysqlshdk::mysql::Var_qualifier::PERSIST
                                 : mysqlshdk::mysql::Var_qualifier::GLOBAL);
  } catch (const shcore::Error &e) {
    throw shcore::Exception::mysql_error_with_code(e.what(), e.code());
  }
}
//8.0/mysql-shell-8.0.30/modules/adminapi/common/preconditions.h

 const mysqlshdk::utils::Version k_min_ar_version =
-    mysqlshdk::utils::Version("8.0");
+    mysqlshdk::utils::Version("5.7");
//8.0/mysql-shell-8.0.30/modules/adminapi/replica_set/replica_set_impl.cc

void validate_version(const Instance &target_server) {
-  if (target_server.get_version() < mysqlshdk::utils::Version(8, 0, 11) ||
+  if (target_server.get_version() < mysqlshdk::utils::Version(5, 7, 0) ||
      target_server.get_version() >= mysqlshdk::utils::Version(8, 1, 0)) {
    current_console()->print_info(
        "MySQL version " + target_server.get_version().get_full() +
        " detected at " + target_server.get_canonical_address() +
        ", but 8.0 is required for InnoDB ReplicaSets.");
    throw shcore::Exception("Unsupported MySQL version",
                            SHERR_DBA_BADARG_VERSION_NOT_SUPPORTED);
  }
}

teledb-go支持5.7所需工作:

1、修改Mysqlshell8.0.30,版本迭代维护

2、5.7mysql配置文件增加预置参数

3、teledb-go增加alldump的实现

​4、5.7制品中加入Mysqlshell依赖(lib,​​​bin​**,share),5.7流水线依赖8.0的输出。**

8.0测试结果

cluster

配置实例

dba.configure_local_instance("RDS_agent:RWX6np48QajVX!2o@172.17.0.10:5731",{"clearReadOnly": "True"})

创建集群

dba.create_cluster('test_cluster_80',{
        "multiPrimary":  "false",
        "force":         "false",
        "memberSslMode": "REQUIRED",
        "localAddress":  "172.17.0.10:5732",
        "ipWhitelist":   "172.0.0.0/8",
        "communicationStack": "xcom"
    }).status()

查询状态

dba.get_cluster('test_cluster_80').status()

添加实例

dba.get_cluster('test_cluster_80').add_instance('172.17.0.11:5731', {
        "memberSslMode":  "REQUIRED",
        "recoveryMethod": "clone",
        "memberWeight":   50,
        "label":          "172.17.0.11:5741",
        "localAddress":   "172.17.0.11:5732",
        "ipWhitelist":    "172.0.0.0/8",
    })

删除实例

dba.get_cluster('test_cluster_80').remove_instance('172.17.0.11:5731',{"force": "True"})

解散集群

dba.get_cluster('test_cluster_80').dissolve({"force":"True", "interactive":"False"})

设置主节点

dba.get_cluster('test_cluster_80').set_primary_instance('172.17.0.11:5731')

重新加入实例

dba.get_cluster('test_cluster_80').rejoin_instance('172.17.0.11:5731',{"memberSslMode": "REQUIRED",
        "ipWhitelist":   "172.0.0.0/8",})

重启集群

dba.reboot_cluster_from_complete_outage('test_cluster_80')

从仲裁丢失中恢复群集

dba.get_cluster('test_cluster_80').force_quorum_using_partition_of('RDS_agent:Fj40qz0n68bfrBO6@172.17.0.10:5731')

重新扫描集群

dba.get_cluster('test_cluster_80').rescan({"addInstances": "auto"})

replica_set

配置实例

dba.configure_replica_set_instance("RDS_agent:H11u60z3gq0Mpcd3@172.17.0.11:5731")

创建集群

dba.create_replica_set("test_replica_set_80",{
        "instanceLabel":  "172.17.0.10:5741"
    }).status({"extended":2})

查询状态

dba.get_replica_set().status({"extended":2})

添加实例

dba.get_replica_set().add_instance('172.17.0.11:5731',{
        "recoveryMethod": "clone",
        "label":          "172.17.0.11:5741"})

重新加入实例

dba.get_replica_set().rejoin_instance('172.17.0.11:5731',{
    "recoveryMethod": "clone"
    })

删除实例

dba.get_replica_set().remove_instance('172.17.0.11:5731',{"force": "True"})

强制设置主节点

dba.get_replica_set().force_primary_instance('172.17.0.11:5731',{
     "invalidateErrorInstances":"false"
    })

设置主节点

dba.get_replica_set().set_primary_instance('172.17.0.11:5731', {"timeout": 100})

删除元数据

dba.drop_metadata_schema({'force': True, 'clearReadOnly': True})

5.7测试结果

cluster

配置实例

dba.configure_local_instance("RDS_agent:H11u60z3gq0Mpcd3@172.17.0.11:5731",{"clearReadOnly": "True"})

5.7版本中缺少auto.cnf文件,无法实现自动修改配置文件

需执行dba.configure_local_instance()前手动修改mysql配置文件,加入

binlog_checksum = NONE   
transaction_write_set_extraction = XXHASH64

重启mysql

创建集群

dba.create_cluster('test_cluster_57',{
        "multiPrimary":  "false",
        "force":         "false",
        "memberSslMode": "REQUIRED",
        "localAddress":  "172.17.0.11:5732",
        "ipWhitelist":   "172.0.0.0/8",
    }).status()

查询状态

dba.get_cluster('test_cluster_57').status()

添加实例

dba.get_cluster('test_cluster_57').add_instance('172.17.0.10:5731', {
        "memberSslMode":  "REQUIRED",
        "memberWeight":   50,
        "label":          "172.17.0.10:5741",
        "localAddress":   "172.17.0.10:5732",
        "ipWhitelist":    "172.0.0.0/8",
    })

删除实例

dba.get_cluster('test_cluster_57').remove_instance('172.17.0.10:5731',{"force": "True"})

解散集群

dba.get_cluster('test_cluster_57').dissolve({"force":"True", "interactive":"False"})

设置主节点(不支持)

dba.get_cluster('test_cluster_57').set_primary_instance('172.17.0.10:5731')

重新加入实例

dba.get_cluster('test_cluster_57').rejoin_instance('172.17.0.10:5731',{"memberSslMode": "REQUIRED",
        "ipWhitelist":   "172.0.0.0/8",})

重启集群

dba.reboot_cluster_from_complete_outage('test_cluster_57')

从仲裁丢失中恢复群集

dba.get_cluster('test_cluster_57').force_quorum_using_partition_of("RDS_agent:H11u60z3gq0Mpcd3@172.17.0.11:5731")

重新扫描集群

dba.get_cluster('test_cluster_57').rescan({"addInstances": "auto"})

replica_set(5.7不支持)

修改mysqlshell源码支持5.7测试结果

cluster

配置实例

dba.configure_local_instance("RDS_agent:JONAu!83X1vfb75b@172.17.0.11:5731",{"clearReadOnly": "True"})

创建集群

dba.create_cluster('test_cluster_57',{
        "multiPrimary":  "false",
        "force":         "false",
        "memberSslMode": "REQUIRED",
        "localAddress":  "172.17.0.11:5732",
        "ipWhitelist":   "172.0.0.0/8",
    }).status()

查询状态

dba.get_cluster('test_cluster_57').status()

添加实例

dba.get_cluster('test_cluster_57').add_instance('172.17.0.10:5731', {
        "memberSslMode":  "REQUIRED",
        "memberWeight":   50,
        "label":          "172.17.0.10:5741",
        "localAddress":   "172.17.0.10:5732",
        "ipWhitelist":    "172.0.0.0/8",
    })

删除实例

dba.get_cluster('test_cluster_57').remove_instance('172.17.0.10:5731',{"force": "True"})

解散集群

dba.get_cluster('test_cluster_57').dissolve({"force":"True", "interactive":"False"})

设置主节点(不支持)

dba.get_cluster('test_cluster_57').set_primary_instance('172.17.0.10:5731')

重新加入实例

dba.get_cluster('test_cluster_57').rejoin_instance('172.17.0.10:5731',{"memberSslMode": "REQUIRED",
        "ipWhitelist":   "172.0.0.0/8",})

重启集群

dba.reboot_cluster_from_complete_outage('test_cluster_57')

从仲裁丢失中恢复群集

dba.get_cluster('test_cluster_57').force_quorum_using_partition_of("RDS_agent:JONAu!83X1vfb75b@172.17.0.11:5731")

重新扫描集群

dba.get_cluster('test_cluster_57').rescan({"addInstances": "auto"})

replica_set

配置实例

dba.configure_replica_set_instance("RDS_agent:JONAu!83X1vfb75b@172.17.0.11:5731")

创建集群

dba.create_replica_set("test_replica_set_57",{
        "instanceLabel":  "172.17.0.11:5741"
    }).status({"extended":2})

查询状态

dba.get_replica_set().status({"extended":2})

添加实例

dba.get_replica_set().add_instance('172.17.0.10:5731',{
        "label":          "172.17.0.10:5741"})

重新加入实例

dba.get_replica_set().rejoin_instance('172.17.0.11:5731',{})

删除实例

dba.get_replica_set().remove_instance('172.17.0.10:5731',{"force": "True"})

强制设置主节点

dba.get_replica_set().force_primary_instance('172.17.0.10:5731',{
     "invalidateErrorInstances":"false"
    })

设置主节点

dba.get_replica_set().set_primary_instance('172.17.0.10:5731', {"timeout": 100})

删除元数据

dba.drop_metadata_schema({'force': True, 'clearReadOnly': True})

0条评论
0 / 1000
ltr
4文章数
0粉丝数
ltr
4 文章 | 0 粉丝
原创

Mysqlshell支持5.7调研测试报告

2024-09-18 09:21:17
7
0

对比结果

集群类型 操作名称 函数名称 8.0 5.7 修改mysqlshell源码支持5.7 备注
cluster 配置实例 configure_local_instance 5.7版本中缺少auto.cnf文件,无法实现自动修改配置文件需执行dba.configure_local_instance()前手动修改mysql配置文件,加入binlog_checksum = NONE transaction_write_set_extraction = XXHASH64重启mysql
创建集群 create_cluster
查询状态 get_cluster
添加实例 add_instance
删除实例 remove_instance
解散集群 dissolve
设置主节点 set_primary_instance × ×
重新加入实例 rejoin_instance
重启集群 reboot_cluster_from_complete_outage
从仲裁丢失中恢复集群 force_quorum_using_partition_of
重新扫描集群 rescan
replica_set 配置实例 configure_replica_set_instance 不支持原因一:版本检查不支持,最低版本要求为8.0const mysqlshdk::utils::Version k_min_ar_version =mysqlshdk::utils::Version("8.0");原因二:5.7版本不支持persist关键字,导致系统变量READ_ONLY和SUPER_READ_ONLY设置不成功,接口出错。 5.7版本中缺少auto.cnf文件,无法实现自动修改配置文件需执行dba.configure_local_instance()前手动修改mysql配置文件,加入 transaction_write_set_extraction = XXHASH64重启mysql
创建集群 create_replica_set
查询状态 get_replica_set
添加实例 add_instance 5.7不支持"recoveryMethod=clone"选项
重新加入实例 rejoin_instance
删除实例 remove_instance
强制设置主节点 force_primary_instance
设置主节点 set_primary_instance
删除元数据 drop_metadata_schema

结论:

核心差异:

1、5.7不支持persist,需要参数预置。

2、5.7不支持"recoveryMethod=clone"选项,需要单独实现alldump。

Mysqlshell修改点:

1、replica_set所有API最低版本要求改为5.7。

2、用global关键字替换persist关键字。

//8.0/mysql-shell-8.0.30/modules/adminapi/common/async_topology.cc

 void fence_instance(mysqlshdk::mysql::IInstance *instance) {
   try {
   // fence with SET PERSIST but unfence with SET GLOBAL, so that instances are
   // SRO if they restart
+    if(!instance->is_set_persist_supported()) {
+      instance->set_sysvar("SUPER_READ_ONLY", true,
+                         mysqlshdk::mysql::Var_qualifier::GLOBAL);
+    }  else {
        instance->set_sysvar("SUPER_READ_ONLY", true,
                          mysqlshdk::mysql::Var_qualifier::PERSIST);
+    }
    
   } catch (const shcore::Error &e) {
     throw shcore::Exception::mysql_error_with_code(e.what(), e.code());
   }
   
 void unfence_instance(mysqlshdk::mysql::IInstance *instance, bool persist) {
   try {
+    if(!instance->is_set_persist_supported()) {
+      persist=false;
+    }  
    instance->set_sysvar("SUPER_READ_ONLY", false,
                         persist ? mysqlshdk::mysql::Var_qualifier::PERSIST
                                 : mysqlshdk::mysql::Var_qualifier::GLOBAL);
    // Set SUPER_READ_ONLY=1 will also set READ_ONLY
    instance->set_sysvar("READ_ONLY", false,
                         persist ? mysqlshdk::mysql::Var_qualifier::PERSIST
                                 : mysqlshdk::mysql::Var_qualifier::GLOBAL);
  } catch (const shcore::Error &e) {
    throw shcore::Exception::mysql_error_with_code(e.what(), e.code());
  }
}
//8.0/mysql-shell-8.0.30/modules/adminapi/common/preconditions.h

 const mysqlshdk::utils::Version k_min_ar_version =
-    mysqlshdk::utils::Version("8.0");
+    mysqlshdk::utils::Version("5.7");
//8.0/mysql-shell-8.0.30/modules/adminapi/replica_set/replica_set_impl.cc

void validate_version(const Instance &target_server) {
-  if (target_server.get_version() < mysqlshdk::utils::Version(8, 0, 11) ||
+  if (target_server.get_version() < mysqlshdk::utils::Version(5, 7, 0) ||
      target_server.get_version() >= mysqlshdk::utils::Version(8, 1, 0)) {
    current_console()->print_info(
        "MySQL version " + target_server.get_version().get_full() +
        " detected at " + target_server.get_canonical_address() +
        ", but 8.0 is required for InnoDB ReplicaSets.");
    throw shcore::Exception("Unsupported MySQL version",
                            SHERR_DBA_BADARG_VERSION_NOT_SUPPORTED);
  }
}

teledb-go支持5.7所需工作:

1、修改Mysqlshell8.0.30,版本迭代维护

2、5.7mysql配置文件增加预置参数

3、teledb-go增加alldump的实现

​4、5.7制品中加入Mysqlshell依赖(lib,​​​bin​**,share),5.7流水线依赖8.0的输出。**

8.0测试结果

cluster

配置实例

dba.configure_local_instance("RDS_agent:RWX6np48QajVX!2o@172.17.0.10:5731",{"clearReadOnly": "True"})

创建集群

dba.create_cluster('test_cluster_80',{
        "multiPrimary":  "false",
        "force":         "false",
        "memberSslMode": "REQUIRED",
        "localAddress":  "172.17.0.10:5732",
        "ipWhitelist":   "172.0.0.0/8",
        "communicationStack": "xcom"
    }).status()

查询状态

dba.get_cluster('test_cluster_80').status()

添加实例

dba.get_cluster('test_cluster_80').add_instance('172.17.0.11:5731', {
        "memberSslMode":  "REQUIRED",
        "recoveryMethod": "clone",
        "memberWeight":   50,
        "label":          "172.17.0.11:5741",
        "localAddress":   "172.17.0.11:5732",
        "ipWhitelist":    "172.0.0.0/8",
    })

删除实例

dba.get_cluster('test_cluster_80').remove_instance('172.17.0.11:5731',{"force": "True"})

解散集群

dba.get_cluster('test_cluster_80').dissolve({"force":"True", "interactive":"False"})

设置主节点

dba.get_cluster('test_cluster_80').set_primary_instance('172.17.0.11:5731')

重新加入实例

dba.get_cluster('test_cluster_80').rejoin_instance('172.17.0.11:5731',{"memberSslMode": "REQUIRED",
        "ipWhitelist":   "172.0.0.0/8",})

重启集群

dba.reboot_cluster_from_complete_outage('test_cluster_80')

从仲裁丢失中恢复群集

dba.get_cluster('test_cluster_80').force_quorum_using_partition_of('RDS_agent:Fj40qz0n68bfrBO6@172.17.0.10:5731')

重新扫描集群

dba.get_cluster('test_cluster_80').rescan({"addInstances": "auto"})

replica_set

配置实例

dba.configure_replica_set_instance("RDS_agent:H11u60z3gq0Mpcd3@172.17.0.11:5731")

创建集群

dba.create_replica_set("test_replica_set_80",{
        "instanceLabel":  "172.17.0.10:5741"
    }).status({"extended":2})

查询状态

dba.get_replica_set().status({"extended":2})

添加实例

dba.get_replica_set().add_instance('172.17.0.11:5731',{
        "recoveryMethod": "clone",
        "label":          "172.17.0.11:5741"})

重新加入实例

dba.get_replica_set().rejoin_instance('172.17.0.11:5731',{
    "recoveryMethod": "clone"
    })

删除实例

dba.get_replica_set().remove_instance('172.17.0.11:5731',{"force": "True"})

强制设置主节点

dba.get_replica_set().force_primary_instance('172.17.0.11:5731',{
     "invalidateErrorInstances":"false"
    })

设置主节点

dba.get_replica_set().set_primary_instance('172.17.0.11:5731', {"timeout": 100})

删除元数据

dba.drop_metadata_schema({'force': True, 'clearReadOnly': True})

5.7测试结果

cluster

配置实例

dba.configure_local_instance("RDS_agent:H11u60z3gq0Mpcd3@172.17.0.11:5731",{"clearReadOnly": "True"})

5.7版本中缺少auto.cnf文件,无法实现自动修改配置文件

需执行dba.configure_local_instance()前手动修改mysql配置文件,加入

binlog_checksum = NONE   
transaction_write_set_extraction = XXHASH64

重启mysql

创建集群

dba.create_cluster('test_cluster_57',{
        "multiPrimary":  "false",
        "force":         "false",
        "memberSslMode": "REQUIRED",
        "localAddress":  "172.17.0.11:5732",
        "ipWhitelist":   "172.0.0.0/8",
    }).status()

查询状态

dba.get_cluster('test_cluster_57').status()

添加实例

dba.get_cluster('test_cluster_57').add_instance('172.17.0.10:5731', {
        "memberSslMode":  "REQUIRED",
        "memberWeight":   50,
        "label":          "172.17.0.10:5741",
        "localAddress":   "172.17.0.10:5732",
        "ipWhitelist":    "172.0.0.0/8",
    })

删除实例

dba.get_cluster('test_cluster_57').remove_instance('172.17.0.10:5731',{"force": "True"})

解散集群

dba.get_cluster('test_cluster_57').dissolve({"force":"True", "interactive":"False"})

设置主节点(不支持)

dba.get_cluster('test_cluster_57').set_primary_instance('172.17.0.10:5731')

重新加入实例

dba.get_cluster('test_cluster_57').rejoin_instance('172.17.0.10:5731',{"memberSslMode": "REQUIRED",
        "ipWhitelist":   "172.0.0.0/8",})

重启集群

dba.reboot_cluster_from_complete_outage('test_cluster_57')

从仲裁丢失中恢复群集

dba.get_cluster('test_cluster_57').force_quorum_using_partition_of("RDS_agent:H11u60z3gq0Mpcd3@172.17.0.11:5731")

重新扫描集群

dba.get_cluster('test_cluster_57').rescan({"addInstances": "auto"})

replica_set(5.7不支持)

修改mysqlshell源码支持5.7测试结果

cluster

配置实例

dba.configure_local_instance("RDS_agent:JONAu!83X1vfb75b@172.17.0.11:5731",{"clearReadOnly": "True"})

创建集群

dba.create_cluster('test_cluster_57',{
        "multiPrimary":  "false",
        "force":         "false",
        "memberSslMode": "REQUIRED",
        "localAddress":  "172.17.0.11:5732",
        "ipWhitelist":   "172.0.0.0/8",
    }).status()

查询状态

dba.get_cluster('test_cluster_57').status()

添加实例

dba.get_cluster('test_cluster_57').add_instance('172.17.0.10:5731', {
        "memberSslMode":  "REQUIRED",
        "memberWeight":   50,
        "label":          "172.17.0.10:5741",
        "localAddress":   "172.17.0.10:5732",
        "ipWhitelist":    "172.0.0.0/8",
    })

删除实例

dba.get_cluster('test_cluster_57').remove_instance('172.17.0.10:5731',{"force": "True"})

解散集群

dba.get_cluster('test_cluster_57').dissolve({"force":"True", "interactive":"False"})

设置主节点(不支持)

dba.get_cluster('test_cluster_57').set_primary_instance('172.17.0.10:5731')

重新加入实例

dba.get_cluster('test_cluster_57').rejoin_instance('172.17.0.10:5731',{"memberSslMode": "REQUIRED",
        "ipWhitelist":   "172.0.0.0/8",})

重启集群

dba.reboot_cluster_from_complete_outage('test_cluster_57')

从仲裁丢失中恢复群集

dba.get_cluster('test_cluster_57').force_quorum_using_partition_of("RDS_agent:JONAu!83X1vfb75b@172.17.0.11:5731")

重新扫描集群

dba.get_cluster('test_cluster_57').rescan({"addInstances": "auto"})

replica_set

配置实例

dba.configure_replica_set_instance("RDS_agent:JONAu!83X1vfb75b@172.17.0.11:5731")

创建集群

dba.create_replica_set("test_replica_set_57",{
        "instanceLabel":  "172.17.0.11:5741"
    }).status({"extended":2})

查询状态

dba.get_replica_set().status({"extended":2})

添加实例

dba.get_replica_set().add_instance('172.17.0.10:5731',{
        "label":          "172.17.0.10:5741"})

重新加入实例

dba.get_replica_set().rejoin_instance('172.17.0.11:5731',{})

删除实例

dba.get_replica_set().remove_instance('172.17.0.10:5731',{"force": "True"})

强制设置主节点

dba.get_replica_set().force_primary_instance('172.17.0.10:5731',{
     "invalidateErrorInstances":"false"
    })

设置主节点

dba.get_replica_set().set_primary_instance('172.17.0.10:5731', {"timeout": 100})

删除元数据

dba.drop_metadata_schema({'force': True, 'clearReadOnly': True})

文章来自个人专栏
文章 | 订阅
0条评论
0 / 1000
请输入你的评论
0
0