Documentation Home
MySQL 外壳 8.0  / 第 6 章 MySQL AdminAPI  / 6.8 AdminAPI MySQL 沙箱  /  6.8.2 管理沙盒实例

6.8.2 管理沙盒实例

沙箱实例运行后,可以随时使用以下命令更改其状态。指定实例的端口号以识别它:

  • 要使用 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)

沙箱实例被认为是暂时的,并非设计用于生产用途。因此,它们不支持版本升级。在沙箱部署中,每个沙箱实例都使用在本地 目录中找到的mysqld二进制文件的副本。如果 mysqld的版本发生变化,例如升级后,基于先前版本的沙箱将无法启动。这是因为沙箱二进制文件与 . $PATHmysql-sandboxesbasedir

如果您确实想在升级后保留沙箱实例,解决方法是手动将升级后的 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.

虽然操作似乎因超时而失败,但沙箱已成功启动。