MySQL Shell 8.4  /  MySQL AdminAPI  /  使用 MySQL AdminAPI

6.1 使用 MySQL AdminAPI

AdminAPI 由 MySQL Shell 提供。AdminAPI 可透過 dba 全域變數及其相關聯的方法存取。dba 變數的方法提供可讓您部署、設定和管理 InnoDB 叢集、InnoDB ClusterSet 和 InnoDB ReplicaSet 的操作。例如,使用 dba.createCluster() 方法來建立 InnoDB 叢集。此外,AdminAPI 支援管理一些與 MySQL Router 相關的工作,例如建立或升級與 InnoDB 叢集、InnoDB ClusterSet 和 InnoDB ReplicaSet 搭配使用的使用者帳戶。

AdminAPI 支援下列部署情境

  • 生產部署: 如果您想要使用完整的生產環境,您需要設定所需數量的機器,然後將伺服器執行個體部署到這些機器。

  • 沙箱部署: 如果您想要在承諾完整生產部署之前測試部署,提供的沙箱功能可讓您在本機上設定測試環境。將會為您建立具有所需設定的沙箱伺服器執行個體。您可以實驗以熟悉所採用的技術。

    重要

    AdminAPI 沙箱部署不適合在完整的生產環境中使用。

除了原生 SQL 模式之外,MySQL Shell 還提供兩種語言模式:JavaScript 和 Python。在本指南中,MySQL Shell 主要以 JavaScript 模式使用。當 MySQL Shell 啟動時,預設為 JavaScript 模式。發出 \js 可切換至 JavaScript 模式,而發出 \py 則可切換至 Python 模式。請發出 \js 以確保您處於 JavaScript 模式。

重要

MySQL Shell 可讓您透過 socket 連線連線至伺服器,但 AdminAPI 需要 TCP 連線到伺服器執行個體。AdminAPI 不支援基於 socket 的連線。

本節假設您已熟悉 MySQL Shell;如需進一步資訊,請參閱MySQL Shell 8.4.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 取得。