一旦沙箱實例正在執行,即可隨時使用下列命令變更其狀態。指定實例的連接埠號碼以識別它。
若要使用 JavaScript 停止沙箱實例,請發出
dba.stopSandboxInstance(。這會正常停止實例,與instance)dba.killSandboxInstance(不同。instance)若要使用 Python 停止沙箱實例,請發出:
dba.stop_sandbox_instance(。這會正常停止實例,與instance)dba.kill_sandbox_instance(不同。instance)若要使用 JavaScript 啟動沙箱實例,請發出:
dba.startSandboxInstance(。instance)若要使用 Python 啟動沙箱實例,請發出:
dba.start_sandbox_instance(。instance)若要使用 JavaScript 強制停止沙箱實例,請發出:
dba.killSandboxInstance(。這會停止實例而不會正常停止它,且適用於模擬意外停止的情況。instance)若要使用 Python 強制停止沙箱實例,請發出:
dba.kill_sandbox_instance(。這會停止實例而不會正常停止它,且適用於模擬意外停止的情況。instance)若要使用 JavaScript 刪除沙箱實例,請發出:
dba.deleteSandboxInstance(。這會從您的檔案系統中完全移除沙箱實例。instance)若要使用 Python 刪除沙箱實例,請發出:
dba.delete_SandboxInstance(。這會從您的檔案系統中完全移除沙箱實例。instance)
沙箱實例被視為暫時性的,且並非設計用於生產環境。因此,不支援版本升級。在沙箱部署中,每個沙箱實例都會使用在本地 mysql-sandboxes 目錄中的 $PATH 中找到的 mysqld 二進位檔複本。如果 mysqld 的版本變更,例如在升級後,基於先前版本的沙箱將無法啟動。這是因為與在 basedir 底下找到的相依性相比,沙箱二進位檔已過時。
如果您想要在升級後保留沙箱實例,一種解決方法是手動將升級後的 mysqld 二進位檔複製到每個沙箱的 bin 目錄中。然後發出 dba.startSandboxInstance() 來啟動沙箱。此作業會因逾時而失敗,且錯誤記錄包含
2020-03-26T11:43:12.969131Z 5 [System] [MY-013381] [Server] Server upgrade
from '80019' to '80020' started.
2020-03-26T11:44:03.543082Z 5 [System] [MY-013381] [Server] Server upgrade
from '80019' to '80020' completed.
雖然此作業看起來像是因逾時而失敗,但沙箱已成功啟動。