5.8.1 设置多个data目录

一台机器上的每个mysql实例应该有自己的data目录。该位置可使用–datadir=dir_name选项来指定。
为一个新的实例设置data目录有不同的方法:
 创建一个新的data目录
 复制一个已存在的data目录
接下来的讨论提供了每种方法的细节。
警告
通常,您不应该有两个服务器来更新同一数据库中的数据。如果你的操作系统不支持fault-free系统锁,那将会导致不愉快的意外发生。如果你在相同data目录下运行了多个服务器并且它们都启用了日志记录,你必须使用适当的选项来指定每个服务器唯一的日志文件名。 否则,服务器将尝试将日志记录到相同的文件。
即使遵守上述注意事项,这种设置也仅适用于MyISAM和MERGE表,不适用于任何其他存储引擎。同样,此关于在服务器之间共享数据目录的警告始终适用于NFS环境。允许在NFS环境下在多个服务器间使用相同的data目录是一个非常蠢的想法。主要问题是,NFS是速度瓶颈。这种用法没有意义。NFS的另一个风险是,您必须设计一种方法来确保两个或更多服务器不会相互干扰。 通常,NFS文件锁定由lockd守护程序处理,但是目前没有任何平台可以在每种情况下100%可靠地执行锁定。
创建一个新的data目录
使用这种方法,data目录将会是你第一次安装mysql时的状态。它将具有默认的MySQL帐户集,并且没有用户数据。
在UNIX上,初始化data目录。请参见2.10节,安装后的测试和设置。
在Windows上,数据目录包含在MySQL发行版中:
 Windows的MySQL Zip存档发行版包含未修改的数据目录。 您可以将此类发行版解压缩到一个临时位置,然后将其数据目录复制到您要设置新实例的位置。

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

复制一个已存在的data目录
使用这种方法,任何当前data目录下的mysql账户和用户数据都将被转移到新的data目录下。

  1. 停止正在使用data目录的已存在的mysql实例。这必须是干净的(clean)关机,以便实例刷新磁盘上所有pending的更改。
  2. 把data目录复制到新目录应该在的地方。
  3. 复制已存在实例正在使用的my.cnf或者my.ini选项文件。这是新实例的基础。
  4. 修改新的选项文件,以便任何引用原始数据目录的路径名都引用新的数据目录。 此外,修改每个实例必须唯一的其他任何选项,例如TCP / IP端口号和日志文件。 有关每个实例必须唯一的参数列表,请参见第5.8节“在一台机器上运行多个MySQL实例”。
  5. 启用新实例,告诉它使用新的选项文件。
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值