5.7.1 设置多个数据目录

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

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

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

Warning

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

即使遵守上述注意事项,这种设置也仅适用于MyISAMMERGEtable,不适用于任何其他存储引擎。同样,这种禁止在服务器之间共享数据目录的警告始终适用于 NFS 环境。允许多个 MySQL 服务器通过 NFS 访问公共数据目录是一个“非常不好的主意”。主要问题是 NFS 是速度瓶颈。它不打算用于这种用途。 NFS 的另一个风险是,您必须设计一种方法来确保两个或多个服务器不会相互干扰。通常,NFS 文件锁定由lockd守护程序处理,但是目前没有任何平台可以在每种情况下 100%可靠地执行锁定。

创建新的数据目录

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

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

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

复制现有数据目录

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

首页