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

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 之間的整數。