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 之间的整数。