MySQL Shell 9.0.0

摘要

MySQL Shell 是適用於 MySQL 的進階用戶端和程式碼編輯器。本文檔說明 MySQL Shell 的核心功能。除了與 mysql 類似的 SQL 功能外,MySQL Shell 還提供 JavaScript 和 Python 的腳本編寫功能,並包含用於處理 MySQL 的 API。X DevAPI 可讓您處理關聯式和文件資料,請參閱將 MySQL 用作文件儲存。AdminAPI 可讓您處理 InnoDB 叢集、InnoDB 叢集集合和 InnoDB 複本集合。

強烈建議將 MySQL Shell 9.0.0 與任何 GA 版本的 MySQL 8.0 或更高版本搭配使用。請升級至 MySQL Shell 9.0.0。如果您尚未安裝 MySQL Shell,請從下載網站下載。

如需詳細說明每個版本變更的注意事項,請參閱MySQL Shell 發行說明

如需使用 MySQL 的協助,請瀏覽MySQL 論壇,您可以在這裡與其他 MySQL 使用者討論您的問題。

授權資訊。 本產品可能包含在授權下使用的第三方軟體。如果您使用的是 MySQL Shell 的商業版本,請參閱MySQL Shell 商業授權資訊使用者手冊,以取得授權資訊,包括與本商業版本中可能包含的第三方軟體相關的授權資訊。如果您使用的是 MySQL Shell 的社群版本,請參閱MySQL Shell 社群授權資訊使用者手冊,以取得授權資訊,包括與本社群版本中可能包含的第三方軟體相關的授權資訊。

文件產生於:2024-07-18 (修訂版:79064)

目錄

1 MySQL Shell 功能
2 安裝 MySQL Shell
2.1 在 Microsoft Windows 上安裝 MySQL Shell
2.2 在 Linux 上安裝 MySQL Shell
2.3 在 macOS 上安裝 MySQL Shell
3 使用 MySQL Shell 命令
3.1 MySQL Shell 命令
4 MySQL Shell 入門
4.1 啟動 MySQL Shell
4.2 MySQL Shell 工作階段
4.2.1 在啟動 MySQL Shell 時建立 Session 全域物件
4.2.2 在啟動 MySQL Shell 後建立 Session 全域物件
4.2.3 在 JavaScript 和 Python 模式中編寫工作階段腳本
4.3 MySQL Shell 連線
4.3.1 使用個別參數連線
4.3.2 使用 login-path 和選項檔案連線
4.3.3 使用 Unix Socket 和 Windows 具名管道連線
4.3.4 使用加密連線
4.3.5 使用 LDAP 和 Kerberos 驗證
4.3.6 使用 SSH 通道
4.3.7 使用壓縮連線
4.4 可插拔密碼儲存
4.4.1 可插拔密碼設定選項
4.4.2 處理認證
4.5 MySQL Shell 全域物件
4.6 使用分頁器
4.7 雲端服務設定
4.7.1 Oracle Cloud Infrastructure 物件儲存
4.7.2 與 S3 相容的儲存
4.7.3 Azure Blob 儲存
4.8 OCI 驗證連線選項
5 MySQL Shell 程式碼執行
5.1 使用中語言
5.2 互動式程式碼執行
5.3 程式碼自動完成
5.4 編輯程式碼
5.5 程式碼歷程記錄
5.6 批次程式碼執行
5.7 輸出格式
5.7.1 表格格式
5.7.2 Tab 分隔格式
5.7.3 垂直格式
5.7.4 JSON 格式輸出
5.7.5 JSON 包裝
5.7.6 結果中繼資料
5.8 API 命令列整合
5.8.1 命令列整合概觀
5.8.2 命令列整合詳細資訊
5.9 JSON 整合
6 MySQL AdminAPI
6.1 使用 MySQL AdminAPI
6.2 安裝 AdminAPI 軟體元件
6.2.1 設定主機名稱
6.2.2 連線至伺服器執行個體
6.2.3 持續設定
6.3 擷取處理常式物件
6.4 建立 AdminAPI 的使用者帳戶
6.5 詳細記錄
6.6 尋找主要伺服器
6.7 編寫 AdminAPI 腳本
6.8 AdminAPI MySQL 沙箱
6.8.1 部署沙箱執行個體
6.8.2 管理沙箱執行個體
6.8.3 設定 InnoDB 叢集和 MySQL Router
6.9 標記中繼資料
6.10 將 MySQL Router 與 AdminAPI、InnoDB 叢集和 InnoDB 複本集合搭配使用
6.10.1 啟動 MySQL Router
6.10.2 設定 MySQL Router 使用者
6.10.3 部署 MySQL Router
6.10.4 路由選項
6.10.5 將複本集合與 MySQL Router 搭配使用
6.10.6 測試 InnoDB 叢集高可用性
6.10.7 處理叢集的路由器
6.11 升級中繼資料結構描述
6.12 AdminAPI 作業的鎖定機制
6.13 在拓撲上執行 SQL
7 MySQL InnoDB 叢集
7.1 InnoDB 叢集需求
7.2 InnoDB 叢集限制
7.3 InnoDB 叢集的使用者帳戶
7.4 部署生產 InnoDB 叢集
7.4.1 預先檢查執行個體設定以供 InnoDB 叢集使用
7.4.2 設定生產執行個體以供 InnoDB 叢集使用
7.4.3 建立 InnoDB 叢集
7.4.4 將執行個體新增至 InnoDB 叢集
7.4.5 設定 InnoDB 叢集連接埠
7.4.6 將 MySQL Clone 與 InnoDB 叢集搭配使用
7.4.7 採用群組複寫部署
7.5 設定 InnoDB 叢集
7.5.1 設定 InnoDB 叢集的選項
7.5.2 自訂 InnoDB 叢集成員伺服器
7.5.3 設定選舉程序
7.5.4 設定容錯移轉一致性
7.5.5 設定執行個體的自動重新加入
7.5.6 設定平行複寫套用程式
7.5.7 InnoDB 叢集與自動遞增
7.5.8 InnoDB 叢集與二進位記錄清除
7.5.9 設定群組複寫通訊堆疊
7.6 保護 InnoDB 叢集
7.7 監控 InnoDB 叢集
7.8 還原與重新啟動 InnoDB 叢集
7.8.1 將執行個體重新加入至叢集
7.8.2 從法定人數遺失還原叢集
7.8.3 從重大中斷重新啟動叢集
7.8.4 重新掃描叢集
7.8.5 隔離叢集
7.9 修改或解散 InnoDB 叢集
7.10 升級 InnoDB 叢集
7.10.1 InnoDB 叢集升級
7.10.2 疑難排解 InnoDB 叢集升級
7.11 MySQL InnoDB 叢集讀取複本
7.11.1 必要條件
7.11.2 建立讀取複本
7.11.3 修改或移除讀取複本
7.11.4 監控讀取複本
8 MySQL InnoDB 叢集集合
8.1 InnoDB 叢集集合需求
8.2 InnoDB 叢集集合限制
8.3 InnoDB 叢集集合的使用者帳戶
8.4 部署 InnoDB 叢集集合
8.4.1 非同步複寫通道選項
8.5 將 MySQL Router 與 InnoDB 叢集集合整合
8.6 InnoDB 叢集集合狀態和拓撲
8.7 InnoDB 叢集集合受控切換
8.8 InnoDB 叢集集合緊急容錯移轉
8.9 InnoDB 叢集集合修復與重新加入
8.9.1 隔離 InnoDB 叢集集合中的叢集
8.9.2 InnoDB 叢集集合叢集中不一致的交易集合 (GTID 集合)
8.9.3 修復 InnoDB 叢集集合中的成員伺服器和叢集
8.9.4 從 InnoDB 叢集集合中移除叢集
8.9.5 將叢集重新加入至 InnoDB 叢集集合
8.10 解散叢集集合
8.11 升級 InnoDB 叢集集合
9 MySQL InnoDB 複本集合
9.1 部署 InnoDB 複本集合
9.2 設定 InnoDB 複本集合執行個體
9.3 建立 InnoDB 複本集合
9.4 非同步複寫通道選項
9.5 將執行個體新增至複本集合
9.5.1 佈建 InnoDB 複本集合的執行個體
9.5.2 將執行個體新增至複本集合的範例
9.6 採用現有的複寫設定
9.7 變更主要執行個體
9.8 強制新的主要執行個體
9.9 標記複本集合
9.10 檢查 InnoDB 複本集合的狀態
9.11 升級 InnoDB 複本集合
9.12 解散複本集合
9.13 重新掃描複本集合
9.14 描述複本集合
10 擴展 MySQL Shell
10.1 使用 MySQL Shell 產生報表
10.1.1 建立 MySQL Shell 報表
10.1.2 註冊 MySQL Shell 報表
10.1.3 持續保留 MySQL Shell 報表
10.1.4 MySQL Shell 報表示範
10.1.5 執行 MySQL Shell 報表
10.1.6 內建 MySQL Shell 報表
10.2 將擴充物件新增至 MySQL Shell
10.2.1 建立使用者定義的 MySQL Shell 全域物件
10.2.2 建立擴充物件
10.2.3 持續性擴充物件
10.2.4 MySQL Shell 擴充物件範例
10.3 MySQL Shell 外掛程式
10.3.1 建立 MySQL Shell 外掛程式
10.3.2 建立外掛程式群組
10.3.3 MySQL Shell 外掛程式範例
10.4 自訂 SQL 處理器
10.4.1 註冊 SQL 處理器
10.4.2 傳回自訂結果
10.4.3 結果資料規格
11 MySQL Shell 工具程式
11.1 升級檢查工具程式
11.2 JSON 匯入工具程式
11.2.1 執行工具程式
11.2.2 使用 Mysqlsh 命令介面匯入 JSON 文件
11.2.3 使用 --import 命令匯入 JSON 文件
11.2.4 BSON 資料類型表示法的轉換
11.3 表格匯出工具程式
11.4 平行表格匯入工具程式
11.5 執行個體傾印工具程式、綱要傾印工具程式和表格傾印工具程式
11.6 傾印載入工具程式
11.7 複製執行個體、綱要和表格
11.8 診斷工具程式
11.8.1 collectDiagnostics 工具程式
11.8.2 collectHighLoadDiagnostics 工具程式
11.8.3 collectSlowQueryDiagnostics 工具程式
12 MySQL Shell 記錄和偵錯
12.1 應用程式記錄
12.2 詳細輸出
12.3 使用者 SQL 陳述式的系統記錄
12.4 MySQL Shell SQL 記錄
13 自訂 MySQL Shell
13.1 使用啟動腳本
13.2 新增模組搜尋路徑
13.2.1 模組搜尋路徑環境變數
13.2.2 啟動腳本中的模組搜尋路徑變數
13.3 自訂提示字元
13.4 設定 MySQL Shell 選項
A MySQL Shell 命令參考
A.1 mysqlsh — MySQL Shell