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