當您使用 AdminAPI 時,您會使用代表 InnoDB Cluster、InnoDB ClusterSet 或 InnoDB ReplicaSet 的處理器物件。您將此物件指派給變數,然後使用可用的操作來監視和管理 InnoDB Cluster、InnoDB ClusterSet 或 InnoDB ReplicaSet。
若要擷取處理器物件,您必須建立與屬於 InnoDB Cluster、InnoDB ClusterSet 或 InnoDB ReplicaSet 的其中一個作用中執行個體的連線 (包括讀取複本)。例如,當您使用 dba.createCluster()
建立叢集時,此操作會傳回可指派給變數的 Cluster
物件。您可以使用此處理器物件來使用叢集。例如,新增執行個體或檢查叢集狀態。如果您想要稍後再次擷取 Cluster
物件,例如在重新啟動 MySQL Shell 之後,請使用 dba.getCluster([
函數。例如,使用 JavaScriptname
],[options
])
mysql-js> var cluster1 = dba.getCluster()
或者使用 Python
mysql-py> cluster1 = dba.get_cluster()
若要擷取代表 InnoDB ClusterSet 部署的 ClusterSet
物件,請使用 dba.getClusterSet()
或
函數。例如,使用 JavaScriptcluster
.getClusterSet()
mysql-js> myclusterset = dba.getClusterSet()
或者使用 Python
mysql-py> myclusterset = dba.get_cluster_set()
當您使用 ClusterSet
物件時,您從中取得該物件的伺服器執行個體必須仍在 InnoDB ClusterSet 中處於線上狀態。如果該伺服器執行個體離線,則該物件將不再運作,您需要從仍在 InnoDB ClusterSet 中處於線上狀態的伺服器再次取得該物件。
使用 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 會嘗試連線至主要執行個體。如果主要執行個體無法使用,則會連線至次要執行個體。