MySQL Shell 8.4  /  MySQL AdminAPI  /  获取处理程序对象

6.3 获取处理程序对象

在使用 AdminAPI 时,您将使用一个处理程序对象,该对象代表 InnoDB 集群、InnoDB 集群集或 InnoDB 副本集。您将此对象分配给一个变量,然后使用可用的操作来监视和管理 InnoDB 集群、InnoDB 集群集或 InnoDB 副本集。

要检索处理程序对象,您需要建立与属于 InnoDB 集群、InnoDB 集群集或 InnoDB 副本集的活动实例(包括只读副本)之一的连接。例如,使用 dba.createCluster() 创建集群时,操作将返回一个 Cluster 对象,该对象可以分配给一个变量。您使用此处理程序对象来处理集群。例如,添加实例或检查集群的状态。如果您想在稍后日期(例如在重新启动 MySQL Shell 后)再次检索 Cluster 对象,请使用 dba.getCluster([name],[options]) 函数。例如,使用 JavaScript

mysql-js> var cluster1 = dba.getCluster()

或者使用 Python

mysql-py> cluster1 = dba.get_cluster()

要检索代表 InnoDB 集群集部署的 ClusterSet 对象,请使用 dba.getClusterSet()cluster.getClusterSet() 函数。例如,使用 JavaScript

mysql-js> myclusterset = dba.getClusterSet()

或者使用 Python

mysql-py> myclusterset = dba.get_cluster_set()
注意

当您使用 ClusterSet 对象时,您从中获取它的服务器实例必须仍在 InnoDB 集群集中联机。如果该服务器实例脱机,则该对象将不再起作用,您需要从仍在 InnoDB 集群集中联机的服务器中再次获取它。

使用 dba.getReplicaSet() 操作检索 ReplicaSet 对象。例如,使用 JavaScript

mysql-js> var replicaset1 = dba.getReplicaSet()

或者使用 Python

mysql-py> replicaset1 = dba.get_replica_set()

如果您未指定 name,则将返回默认对象。返回的对象使用一个新的会话,独立于 MySQL Shell 的全局会话。这确保了即使您更改了 MySQL Shell 全局会话,ClusterClusterSetReplicaSet 对象仍会维护其与服务器实例的会话。

默认情况下,当您检索处理程序时,MySQL Shell 会尝试连接到主节点实例。如果主节点不可用,则会连接到从节点。