MySQL Shell 9.0  /  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 会尝试连接到主实例。如果主实例不可用,则会连接到从属实例。