Mysql

Inndob Cluster - 自動收集 mysqlsh 的輸出?

  • January 27, 2022

有沒有辦法從 mysqlshell 獲取輸出並在腳本或類似文件中使用它。

我已經建立了一個用於測試的基本集群(3 x MySQL 8.0.27 數據庫,在 Debian 11 上執行)。

我現在正試圖找到一種從 mysqlshell 的cluster.status()輸出中擷取輸出的方法。

例如,從 mysqlshell 內部我可以執行:

cluster=dba.getCluster()
cluster.status().defaultReplicaSet.topology['test-1:3306'].replicationLag

獲取目前的複制延遲。我想擷取它,以便可以自動監控它。

我假設這些統計數據中的大多數也將存在於某處的performance_schemaormysql_innodb_cluster_metadata數據庫中,但我看不到它們。

有沒有辦法做到這一點?

您可以使用 Shell 的命令行集成來訪問 AdminAPI,而無需進入 Shell 的互動界面。例如,這允許您在 bash 腳本中執行命令或將其與其他自動化/監控工具集成。

https://dev.mysql.com/doc/mysql-shell/8.0/en/mysql-shell-command-line-integration.html

引用自:https://dba.stackexchange.com/questions/306394