我想对mongodb使用相对路径,这样每个用户在运行mongo时都有一个单独的数据目录。
我尝试过设置
dbpath = ~/mongodb_data
在我的配置文件中,但由于某种原因似乎不起作用 - 我得到:
ERROR: dbpath (~/mongodb_data) does not exist.
起初我以为这可能是权限错误,但我在对 ~/mongodb_data 有 rw 权限的用户下运行 mongod。
我想做的事情可行吗?如果可行,我该如何去做?
你好蓝莓田,
我能够像在我的 Windows 机器上那样做到这一点:
mongod --dbpath ..\..\data\db
您也可以使用符号链接。
但正如已经提到的,更新用户启动脚本是最好的可管理解决方案。
我会指定从根开始的完整路径,而不是使用波浪号。我不确定它可以使用它。
dbpath = /home/yourusername/mongodb_data
从 MongoDB 6.x 开始,可以使用相对路径作为数据和日志目录(不使用波形符)。对于以下配置(作为示例),如果服务器从 bin 目录启动,它将使用数据目录和上述日志文件中的日志。
这在从 tar.gz 文件自动安装 MongoDB 的情况下非常有用,其中安装目录事先未知并且 var 目录可能无法访问。下面的唯一替代方法是修改配置 YAML 安装后以包含数据目录和日志文件的路径(我仅使用下面的内容作为示例,数据和日志应该位于安装目录之外,但可以相对于它)。
# where to write logging data.
systemLog:
destination: file
logAppend: true
path: ../log/mongod.log
# Where and how to store data.
storage:
dbPath: ../data