文档首页
MySQL 9.0 参考手册
相关文档 下载本手册
PDF (US Ltr) - 40.0Mb
PDF (A4) - 40.1Mb
手册页 (TGZ) - 258.2Kb
手册页 (Zip) - 365.3Kb
信息 (Gzip) - 4.0Mb
信息 (Zip) - 4.0Mb


7.8.1 设置多个数据目录

机器上的每个 MySQL 实例都应该有自己的数据目录。使用 --datadir=目录名 选项指定位置。

有多种方法可以为新实例设置数据目录

  • 创建一个新的数据目录。

  • 复制现有的数据目录。

以下讨论提供了有关每种方法的更多详细信息。

警告

通常,您永远不应该有两个服务器更新同一个数据库中的数据。如果您的操作系统不支持无故障系统锁定,这可能会导致意外情况。如果(尽管有此警告)您使用同一个数据目录运行多个服务器并且它们启用了日志记录,则必须使用适当的选项来指定对每个服务器唯一的日志文件名。否则,服务器会尝试记录到同一个文件。

即使遵守了上述预防措施,这种设置也只适用于 MyISAMMERGE 表,而不适用于任何其他存储引擎。此外,此关于不要在服务器之间共享数据目录的警告始终适用于 NFS 环境。允许多个 MySQL 服务器通过 NFS 访问公共数据目录是一个 非常糟糕的主意。主要问题是 NFS 是速度瓶颈。它不适合这种用途。NFS 的另一个风险是,您必须设计一种方法来确保两个或多个服务器不会相互干扰。通常,NFS 文件锁定由 lockd 守护进程处理,但目前还没有任何平台能够在任何情况下都能 100% 可靠地执行锁定。

创建新的数据目录

使用此方法,数据目录的状态与您首次安装 MySQL 时的状态相同,并且具有默认的 MySQL 帐户集,并且没有用户数据。

在 Unix 上,初始化数据目录。请参阅 第 2.9 节“安装后设置和测试”

在 Windows 上,数据目录包含在 MySQL 发行版中

  • 适用于 Windows 的 MySQL Zip 存档发行版包含未修改的数据目录。您可以将此类发行版解压缩到临时位置,然后将其 data 目录复制到要设置新实例的位置。

  • Windows MSI 软件包安装程序会创建并设置已安装服务器使用的数据目录,还会在安装目录下创建一个名为 data 的原始 模板 数据目录。使用 MSI 软件包执行安装后,可以复制模板数据目录以设置其他 MySQL 实例。

复制现有的数据目录

使用此方法,数据目录中存在的任何 MySQL 帐户或用户数据都将转移到新的数据目录中。

  1. 使用数据目录停止现有的 MySQL 实例。这必须是干净的关闭,以便实例将所有挂起的更改刷新到磁盘。

  2. 将数据目录复制到新数据目录应位于的位置。

  3. 复制现有实例使用的 my.cnfmy.ini 选项文件。这将作为新实例的基础。

  4. 修改新的选项文件,以便引用原始数据目录的任何路径名都引用新的数据目录。此外,还应修改每个实例必须唯一的任何其他选项,例如 TCP/IP 端口号和日志文件。有关每个实例必须唯一的参数列表,请参阅 第 7.8 节“在一台机器上运行多个 MySQL 实例”

  5. 启动新实例,并告诉它使用新的选项文件。