10bet网址
MySQL 8.0参考手册
相关的文档10bet官方网站 本手册下载 本手册节选

5.8.1建立多个数据目录

机器上的每个MySQL实例都应该有自己的数据目录。方法指定位置——datadir =dir_name选择。

为新实例建立数据目录有几种不同的方法:

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

  • 复制现有的数据目录。

下面的讨论将详细介绍每种方法。

警告

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

即使遵守了前面的注意事项,这种设置也只适用于MyISAM而且合并表,而不是任何其他存储引擎。另外,对于在服务器之间共享数据目录的警告总是适用于NFS环境。允许多个MySQL服务器通过NFS访问一个公共数据目录是一个错误非常糟糕的主意.主要问题是NFS是速度瓶颈。它不是用来做这种用途的。NFS的另一个风险是,您必须设计一种方法来确保两个或多个服务器不会相互干扰。通常NFS文件锁定是由lockd但目前还没有一个平台能够在所有情况下100%可靠地执行锁定。

创建一个新的数据目录

使用这种方法,数据目录将处于与第一次安装MySQL时相同的状态,并且具有默认的MySQL帐户集,没有用户数据。

在Unix上,初始化data目录。看到第2.10节“安装后设置和测试”

在Windows上,data目录包含在MySQL发行版中:

  • 用于Windows的MySQL Zip归档发行版包含一个未修改的数据目录。您可以将这样的发行版解压缩到临时位置,然后复制它数据目录中设置新实例的位置。

  • Windows MSI包安装程序创建和设置已安装服务器使用的数据目录,但也创建一个原始目录模板数据目录命名数据在安装目录下。在使用MSI包执行安装之后,可以复制模板数据目录来设置其他MySQL实例。

复制现有数据目录

使用这种方法,数据目录中的任何MySQL帐户或用户数据都被转移到新的数据目录中。

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

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

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

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

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