Kubernetes 的 MySQL Operator 手冊  /  MySQL InnoDB Cluster  /  InnoDBCluster 部署建立的 MySQL 帳戶

3.5 InnoDBCluster 部署建立的 MySQL 帳戶

當建立 InnoDB Cluster 時,Kubernetes 的 MySQL Operator 會建立和/或使用多個 MySQL 帳戶。由 Kubernetes 的 MySQL Operator 建立且僅供其內部使用的內部帳戶,使用者可以使用,但不得變更(刪除、變更密碼、變更授權等)。

通常,系統管理員使用的唯一帳戶是 'root' 使用者,而其他 MySQL 使用者則被視為 MySQL InnoDB Cluster 安裝的內部帳戶。

表 3.1 MySQL Operator 建立和/或使用的 MySQL 帳戶。

MySQL 使用者 用途 建立者 說明
root 使用者的一般系統管理 由使用者定義的 Kubernetes 的 MySQL Operator

當使用使用者提供的 Kubernetes Secret 物件建立 InnoDB Cluster 時定義,該物件由 secretsName 組態選項參考。它通常是 root@'%',但可以使用 rootUserrootHost 組態選項覆寫。

您可能希望使用此使用者建立較低權限的 MySQL 帳戶。

localroot 由 Operator 用於執行本機管理任務 Kubernetes 的 MySQL Operator 此本機 root 帳戶專屬於 Kubernetes 的 MySQL Operator,並由 MySQL Sidecar 容器用於執行本機維護任務,例如建立其他帳戶、設定執行個體和驗證複寫狀態。使用者不應使用或編輯它。它以 auth_socket 驗證和具有完整權限且無密碼的 PROXY 建立。
mysqladmin 由 Operator 執行的管理任務 Kubernetes 的 MySQL Operator 用於管理 InnoDB Cluster,憑證由 "{clustername}-privsecrets" Kubernetes Secret 管理
mysqlbackup 由 Operator 執行的管理任務 Kubernetes 的 MySQL Operator 用於建立備份和管理備份作業,憑證由 "{clustername}-backup" Kubernetes Secret 管理
mysqlrouter 由 Operator 執行的管理任務 Kubernetes 的 MySQL Operator 任務包括管理 MySQL Router 執行個體以存取叢集元資料;憑證由 "{clustername}-router" Kubernetes Secret 管理
mysqlhealthchecker 內部健康檢查 Kubernetes 的 MySQL Operator 僅用於健康檢查 (存活性和就緒性探測) 的本機帳戶;以 auth_socket 驗證且無權限建立。
mysql_innodb_cluster_{server_id} 啟用叢集中伺服器之間連線的內部復原使用者 MySQL InnoDB Cluster 每個 MySQL 執行個體一個,如需其他資訊,請參閱 InnoDB Cluster 建立的內部使用者帳戶
mysql.infoschema 保留 MySQL 伺服器 請參閱 保留帳戶
mysql.session 保留 MySQL 伺服器 請參閱 保留帳戶
mysql.sys 保留 MySQL 伺服器 請參閱 保留帳戶

相關:部署 Kubernetes 的 MySQL Operator 會在捆綁的 deploy-operator.yaml 和 Helm 部署範本中建立一個名稱預設為 mysql-operator-sa 的 Kubernetes 服務帳戶。

如需 MySQL 服務使用的所有連接埠清單,請參閱 MySQL 連接埠參考