暂无图片
暂无图片
暂无图片
暂无图片
暂无图片

5.8.1设置多个数据目录

原创 由迪 2020-09-15
1619

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

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

  • 创建一个新的数据目录。
  • 复制现有数据目录。

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

警告

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

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

创建一个新的数据目录

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

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

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

  • Windows的MySQL Zip存档发行版包含未修改的数据目录。您可以将这样的发行版解压缩到一个临时位置,然后将其复制 data到要设置新实例的目录中。
  • Windows MSI软件包安装程序会创建并设置已安装服务器将使用的数据目录,还会创建一个在安装目录下命名的原始“ 模板 ”数据 data目录。使用MSI软件包执行安装后,可以复制模板数据目录以设置其他MySQL实例。

复制现有数据目录

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

  1. 使用数据目录停止现有的MySQL实例。这必须是干净的关机,以便实例刷新磁盘上所有未决的更改。
  2. 将数据目录复制到新数据目录应位于的位置。
  3. 复制现有实例使用的my.cnfmy.ini选项文件。这是新实例的基础。
  4. 修改新的选项文件,以便任何引用原始数据目录的路径名都引用新的数据目录。此外,修改每个实例必须唯一的其他任何选项,例如TCP / IP端口号和日志文件。有关每个实例必须唯一的参数列表,请参见 第5.8节“在一台机器上运行多个MySQL实例”
  5. 启动新实例,告诉它使用新选项文件。
最后修改时间:2020-09-15 14:58:09
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。

评论