AdminAPI 由 MySQL Shell 提供。通过dba
全局变量及其相关方法访问 AdminAPI。该dba
变量的方法提供了使您能够部署、配置和管理 InnoDB Cluster、InnoDB ClusterSet 和 InnoDB ReplicaSet 的操作。例如使用
dba.createCluster()
方法创建一个InnoDB Cluster。此外,AdminAPI 支持管理一些 MySQL Router 相关任务,例如创建或升级与 InnoDB Cluster、InnoDB ClusterSet 和 InnoDB ReplicaSet 一起使用的用户帐户。
AdminAPI 支持以下部署场景:
生产部署:如果你想使用完整的生产环境,你需要配置所需数量的机器,然后将你的服务器实例部署到这些机器上。
-
沙盒部署:如果您想在提交完整的生产部署之前测试部署,提供的沙盒功能使您能够在本地计算机上设置测试环境。沙盒服务器实例是为您创建的,具有所需的配置。您可以尝试熟悉所采用的技术。
重要的AdminAPI 沙盒部署不适合在完整的生产环境中使用。
MySQL Shell 除了原生 SQL 模式外,还提供两种语言模式,JavaScript 和 Python。在本指南中,MySQL Shell 主要用于 JavaScript 模式。当 MySQL Shell 启动时,它默认处于 JavaScript 模式。通过发布\js
JavaScript 模式和\py
Python 模式来切换模式。通过发出\js
.
MySQL Shell 使您能够通过套接字连接到服务器,但 AdminAPI 需要到服务器实例的 TCP 连接。AdminAPI 不支持基于套接字的连接。
本节假定熟悉 MySQL Shell;有关详细信息,请参阅
MySQL Shell 8.0。MySQL Shell 还为 AdminAPI 提供在线帮助。要列出所有可用dba
命令,请使用
dba.help()
方法。对于特定方法的联机帮助,请使用通用格式
object.help('methodname')
。例如,使用 JavaScript:
mysql-js> dba.help('getCluster')
Retrieves a cluster from the Metadata Store.
SYNTAX
dba.getCluster([name][, options])
WHERE
name: Parameter to specify the name of the cluster to be returned.
options: Dictionary with additional options.
...
或者使用 Python:
mysql-py>dba.help('get_cluster')
NAME
get_cluster - Retrieves a cluster from the Metadata Store.
SYNTAX
dba.get_cluster([name][, options])
WHERE
name: Parameter to specify the name of the cluster to be returned.
options: Dictionary with additional options.
...
除了本文档之外,MySQL Shell JavaScript API 参考或 MySQL Shell Python API 参考中还有所有 AdminAPI 方法的开发人员文档,可从Connectors and APIs获得。