如何指定存储mongodb数据的相对数据库路径?

问题描述 投票:0回答:3

我想对mongodb使用相对路径,这样每个用户在运行mongo时都有一个单独的数据目录。

我尝试过设置

dbpath = ~/mongodb_data

在我的配置文件中,但由于某种原因似乎不起作用 - 我得到:

ERROR: dbpath (~/mongodb_data) does not exist.

起初我以为这可能是权限错误,但我在对 ~/mongodb_data 有 rw 权限的用户下运行 mongod。

我想做的事情可行吗?如果可行,我该如何去做?

mongodb configuration
3个回答
5
投票

你好蓝莓田,

我能够像在我的 Windows 机器上那样做到这一点:

mongod --dbpath ..\..\data\db

您也可以使用符号链接。

但正如已经提到的,更新用户启动脚本是最好的可管理解决方案。


0
投票

我会指定从根开始的完整路径,而不是使用波浪号。我不确定它可以使用它。

dbpath = /home/yourusername/mongodb_data

0
投票

从 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
© www.soinside.com 2019 - 2024. All rights reserved.