首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >Mysql (win)是否有可能同时从多个驱动器获取数据库?

问Mysql (win)是否有可能同时从多个驱动器获取数据库?
EN

Database Administration用户
提问于 2021-05-02 19:06:42
回答 1查看 276关注 0票数 1

我的问题是,有没有办法在同一时间(Windows)从不同的驱动器读取mysql数据文件夹?

例如:我有来自驱动器C:的1TB数据库,以及来自驱动器D:的另一个1TB。因此,当我启动mysql时,它只会看到两个驱动器中的两个数据库。

EN

回答 1

Database Administration用户

回答已采纳

发布于 2021-05-02 20:49:51

给定的MySQL实例只能使用一个datadir。在datadir下,每个MySQL模式都驻留在一个子目录中。

例如,默认的datadir是C:\Program Files\MySQL\MySQL Server 8.0\data。

Schema1将在C:\Program Files\MySQL\MySQL Server 8.0\data\Schema1之下

Schema2将在C:\Program Files\MySQL\MySQL Server 8.0\data\Schema2之下

但是,如果您可以欺骗Windows,使其认为Schema2子文件夹实际上使用了物理驱动器D:中的存储,那么您就可以实现您想要的结果。

一种方法是使用mklink,如下面所示:https://dev.mysql.com/doc/refman/8.0/en/windows-symbolic-links.html,我更喜欢这个解决方案,因为它允许您针对D:驱动器上的特定路径。

第二种选择是使用虚拟驱动器。Windows允许您将驱动器映射到另一个驱动器的特定路径。使用此选项的Windows用户并不多,他们更喜欢使用驱动器作为驱动器。

https://winaero.com/create-virtual-drive-from-a-folder-in-windows-10/

所以你会用

代码语言:javascript
复制
SUBST D: C:\Program Files\MySQL\MySQL Server 8.0\data\Schema2

有关更多细节,请阅读我链接到的文章。

无论您使用哪种解决方案,现在Schema2下的文件都会自动存储在物理驱动器D:上,并且不会占用物理驱动器C:上的空间。

如果您已经创建了Schema2呢?因此,C:上已经有了该模式的表的子目录。好吧,你得做些文件杂耍才能做到这点。我没有Windows机器,所以我不能测试它,也不能给出有关步骤的建议。

记住,在运行MySQL服务器服务时,不要手动移动MySQL表。先停止服务,否则会损坏数据。在另一台服务器上实践这种配置,而不是您的重要生产数据,并在尝试任何操作之前对整个数据库实例进行备份。

票数 2
EN
页面原文内容由Database Administration提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://dba.stackexchange.com/questions/290883

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档