全面上市前:2022-11-17
MySQL Shell 的 AdminAPI 包括几个用 JavaScript 和 Python 实现的类,您可以使用它们来开发与 MySQL 交互的代码。AdminAPI 还提供了为 MySQL Router 配置用户的操作,使与 InnoDB Cluster、InnoDB ClusterSet 和 InnoDB ReplicaSet 的集成尽可能简单。
全局dba
对象
全局对象为在
dba
AdminAPI 中创建、配置和获取其他 InnoDB 对象提供了一个入口点。
InnoDB 对象 | 行政行为 |
---|---|
Cluster |
dba.configureInstance() JavaScript 方法或
dba.configure_instance() Python 方法可用于使用在 InnoDB 集群中使用它所需的设置来配置 MySQL 实例。
InnoDB Clusters 可以使用
InnoDB Cluster管理对象可以通过 |
ClusterSet |
可以使用
cluster.createClusterSet() JavaScript 方法或cluster.create_cluster_set() Python 方法创建 ClusterSet。
创建时,InnoDB ClusterSet 管理对象可以通过 |
ReplicaSet |
dba.configureReplicaSetInstance() JavaScript 方法或dba.configure_replica_set_instance() Python 方法可用于使用在 InnoDB ReplicaSet 中使用它所需的设置来配置 MySQL 实例。
InnoDB ReplicaSets 可以使用
InnoDB ReplicaSet管理对象可以通过 |
InnoDB集群
InnoDB Cluster 使用基于 InnoDB 的 MySQL 数据库为高可用性和可扩展性提供集成解决方案。InnoDB Cluster 是使用组复制的替代解决方案,无需高级 MySQL 专业知识。
InnoDB Cluster 中的每个 MySQL 服务器实例都运行 MySQL Group Replication,它提供了在 InnoDB Cluster 中复制数据的机制,具有内置的故障转移功能。AdminAPI 消除了在 InnoDB 集群中直接使用组复制的需要。您还可以设置 InnoDB ClusterSet,通过将主 InnoDB Cluster 与其在备用位置(例如不同数据中心)的一个或多个副本链接起来,为 InnoDB Cluster 部署提供容灾能力。
有关详细信息,请参阅 InnoDB 集群。
InnoDB 集群集
InnoDB ClusterSet 通过将主 InnoDB Cluster 与其在备用位置的一个或多个副本链接起来,为 MySQL InnoDB Cluster 部署提供容灾能力。
InnoDB ClusterSet 部署中主 InnoDB 集群和副本集群之间的紧急故障转移可以由管理员通过 MySQL Shell 使用 AdminAPI 触发,AdminAPI 包含在 MySQL Shell 中。您还可以在主集群仍然可用时执行从主集群到副本集群的受控切换,例如,如果配置发生更改,或者您需要对主集群进行维护。
有关详细信息,请参阅 InnoDB ClusterSet。
InnoDB 副本集
InnoDB ReplicaSet 使您能够管理一组运行基于异步全局事务 ID (GTID) 的复制的 MySQL 实例。
InnoDB ReplicaSet 由单个主节点和多个辅助节点组成,称为 MySQL 复制源和副本)。您使用 ReplicaSet 对象和 AdminAPI 操作来管理您的 ReplicaSet,例如检查 InnoDB ReplicaSet 的状态,并在发生故障时手动故障转移到新的主节点。
有关详细信息,请参阅 InnoDB 副本集。