一旦沙箱實例正在執行,即可隨時使用下列命令變更其狀態。指定實例的連接埠號碼以識別它。
若要使用 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.
雖然此作業看起來像是因逾時而失敗,但沙箱已成功啟動。