MySQL Shell 9.0  /  MySQL AdminAPI  /  使用 MySQL AdminAPI

6.1 使用 MySQL AdminAPI

AdminAPI 由 MySQL Shell 提供。可以通过 dba 全局变量及其关联方法访问 AdminAPI。dba 变量的方法提供了部署、配置和管理 InnoDB 集群、InnoDB 集群集和 InnoDB 副本集所需的操作。例如,使用 dba.createCluster() 方法创建 InnoDB 集群。此外,AdminAPI 还支持管理一些与 MySQL Router 相关的任务,例如创建或升级可与 InnoDB 集群、InnoDB 集群集和 InnoDB 副本集一起使用的用户帐户。

AdminAPI 支持以下部署方案

  • 生产部署: 如果要使用完整的生产环境,则需要配置所需数量的机器,然后将服务器实例部署到这些机器。

  • 沙盒部署: 如果您想在提交到完整生产部署之前测试部署,则提供的沙盒功能使您能够在本地机器上设置测试环境。将使用所需的配置为您创建沙盒服务器实例。您可以进行实验以熟悉所采用的技术。

    重要

    AdminAPI 沙盒部署不适合在完整的生产环境中使用。

除了本机 SQL 模式之外,MySQL Shell 还提供两种语言模式:JavaScript 和 Python。在本指南中,MySQL Shell 主要在 JavaScript 模式下使用。MySQL Shell 启动时默认处于 JavaScript 模式。通过发出 \js 切换到 JavaScript 模式,发出 \py 切换到 Python 模式。通过发出 \js 确保您处于 JavaScript 模式。

重要

MySQL Shell 允许您通过套接字连接连接到服务器,但 AdminAPI 需要到服务器实例的 TCP 连接。AdminAPI 不支持基于套接字的连接。

本节假定您熟悉 MySQL Shell;有关更多信息,请参见 MySQL Shell 9.0.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 方法的开发者文档,可从 连接器和 API 获取。