MySQL Shell 8.4  /  ...  /  部署沙盒实例

6.8.1 部署沙盒实例

AdminAPI 提供了 dba.deploySandboxInstance(port_number) 操作,而不是使用每个实例都在单独主机上运行的生产环境设置。 port_number 参数是 MySQL Server 实例监听连接的 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 之间的整数。