MySQL Shell 9.0  /  ...  /  部署沙箱實例

6.8.1 部署沙箱實例

AdminAPI 提供 dba.deploySandboxInstance(port_number) 操作,而不是使用每個實例都在獨立主機上執行的生產設定。port_number 引數是 MySQL 伺服器實例接聽連線的 TCP 連接埠號碼。若要部署繫結至連接埠 3310 的新沙箱實例,請發出

mysql-js> dba.deploySandboxInstance(3310)

依預設,沙箱會在 Unix 系統上的 $HOME/mysql-sandboxes/port 目錄中建立。對於 Microsoft Windows 系統,目錄為 %userprofile%\MySQL\mysql-sandboxes\port。每個沙箱實例都儲存在以 port_number 命名的目錄中。

系統會提示您輸入 root 使用者的密碼。

重要

每個沙箱實例都使用 root 使用者和密碼,而且在所有應一起運作的沙箱實例上必須相同。這在生產環境中不建議使用。

若要部署另一個沙箱伺服器實例,請重複連接埠 3310 的沙箱實例所遵循的步驟,為每個實例選擇不同的連接埠號碼。

若要變更儲存沙箱的目錄,例如在一部主機上執行多個沙箱以進行測試,請使用 MySQL Shell sandboxDir 選項。例如,若要在 /home/user/sandbox1 目錄中使用沙箱,請發出

mysql-js> shell.options.sandboxDir='/home/user/sandbox1'

然後,所有後續的沙箱相關操作都會針對在 /home/user/sandbox1 中找到的實例執行。

當您部署沙箱時,MySQL Shell 會搜尋 mysqld 二進位檔,然後使用它來建立沙箱實例。您可以透過設定 PATH 環境變數,來設定 MySQL Shell 搜尋 mysqld 二進位檔的位置。這對於在將新版本的 MySQL 部署到生產環境之前,先在本機測試很有用。例如,若要在路徑 /home/user/mysql-latest/bin/ 使用 mysqld 二進位檔,請發出

PATH=/home/user/mysql-latest/bin/:$PATH

然後從設定了 PATH 環境變數的終端機執行 MySQL Shell。您部署的任何沙箱,都會使用在設定路徑找到的 mysqld 二進位檔。

dba.deploySandboxInstance() 操作支援下列選項

  • allowRootFrom 設定 root 使用者可以從哪個主機連線。預設為 root@%

  • ignoreSslError 設定沙箱實例上的安全連線。當 ignoreSslError 為 true 時 (這是預設值),如果無法提供 SSL 支援,且伺服器實例是在沒有 SSL 支援的情況下部署,則不會在操作期間發出錯誤。當 ignoreSslError 設定為 false 時,沙箱實例會以 SSL 支援部署,如果無法設定 SSL 支援,則會發出錯誤。

  • mysqldOptions 設定沙箱實例上的其他選項。預設為空字串,並接受指定選項和值的字串清單。例如 mysqldOptions: ["lower_case_table_names=1", "report_host="10.1.2.3"]}。指定的選項會寫入沙箱實例的選項檔案。

  • portX 設定用於 X 通訊協定連線的連接埠。預設值是將 port 值乘以 10 來計算。該值是介於 1024 和 65535 之間的整數。