在使用 AdminAPI 时,您将使用一个处理程序对象,该对象代表 InnoDB 集群、InnoDB 集群集或 InnoDB 副本集。您将此对象分配给一个变量,然后使用可用的操作来监视和管理 InnoDB 集群、InnoDB 集群集或 InnoDB 副本集。
要检索处理程序对象,您需要建立与属于 InnoDB 集群、InnoDB 集群集或 InnoDB 副本集的活动实例(包括只读副本)之一的连接。例如,使用 dba.createCluster()
创建集群时,操作将返回一个 Cluster
对象,该对象可以分配给一个变量。您使用此处理程序对象来处理集群。例如,添加实例或检查集群的状态。如果您想在稍后日期(例如在重新启动 MySQL Shell 后)再次检索 Cluster
对象,请使用 dba.getCluster([
函数。例如,使用 JavaScriptname
],[options
])
mysql-js> var cluster1 = dba.getCluster()
或者使用 Python
mysql-py> cluster1 = dba.get_cluster()
要检索代表 InnoDB 集群集部署的 ClusterSet
对象,请使用 dba.getClusterSet()
或
函数。例如,使用 JavaScriptcluster
.getClusterSet()
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 全局会话,Cluster
、ClusterSet
或 ReplicaSet
对象仍会维护其与服务器实例的会话。
默认情况下,当您检索处理程序时,MySQL Shell 会尝试连接到主节点实例。如果主节点不可用,则会连接到从节点。