在Mac中更改mongo db的位置

时间:2019-01-17 01:54:19

标签: database mongodb bash macos

因此,我尝试使用bash /data/db中的此命令来更改monogo数据库$ sudo mongo --dbpath /usr/local/<new folder>的“ 默认”位置,该命令可以立即启动,但是在关闭后向下,然后尝试重新启动,我从bash运行$ mongod会出现此错误"I CONTROL [initandlisten] shutting down with code:100"

  1. 我的问题是,我每次使用数据库时都必须输入此--dbpath <directory>标志吗??

  2. 如何让mongo知道'默认'目录已移动?

3 个答案:

答案 0 :(得分:0)

取决于您的安装,您的mongod应该具有mongod.conf文件,该文件指定您的默认位置--dbpath不会修改配置文件。您可能还需要调整对新数据库目录的权限。

在没有看到错误代码的情况下,我将推荐以下文章:

Changing Mongo Data Store

MongoDB Error Code 100

答案 1 :(得分:0)

因此,通过详尽的搜索和查找文档,我尝试了很多解决方案,这是我发现对我有用的一种解决方案。 “这是一个macOS解决方案”。 注意:将'/ what / ever / location'重命名为您的实际位置,但是我建议保留数据,db,bin,log。

使用自制软件安装mongodb时(先决条件,安装xcode)。

$ brew install mongodb

官方文档说它不会创建配置文件,因此您必须创建一个配置文件并将其放置在此位置。

/etc/mongod.conf

创建后,请使用您的文本编辑器(选择)插入此代码。我的是简化的,但是mongo文档中包含了其他内容的完整列表。 Mongo documentation storage options注意:此代码是用.yaml或.yml编写的,因此没有制表符。

systemLog:
  destination: file
  path: "/what/ever/location/log/mongod.log"
  logAppend: true
storage:
  dbPath: "/what/ever/location/data/db"
  indexBuildRetry: true
  repairPath: "/what/ever/location/data/db/repairdb"
  journal:
    enabled: true
processManagement:
  fork: true
net:
  bindIp: 127.0.0.1
  port: 27017
setParameter:
  enableLocalhostAuthBypass: false

我添加了一些额外的东西,例如日志和修复路径,这是您的选择。接下来,用此行更改您的.bash_profile

# MongoDB Aliases
alias mongod="mongod --dbpath /what/ever/location/bin"

如果您尚未这样做,请更新mongod shell所在的环境变量$ PATH。

export PATH="/what/ever/location/bin:$PATH"

在您的CLI(可选)中运行以下代码以检查是否有效:

$ mongod

答案 2 :(得分:0)

在bash配置文件中包含具有正确dbpath的别名。

  1. 编辑此文件:/Users/YOUR_NAME/.bash_profile

  2. 将此行添加到文件中: 别名mongod =“ mongod --dbpath / usr / local / NEW_FOLDER”

  3. 保存。

  4. 打开一个新终端,然后开始输入mongo: mongod