【问题标题】:mongoDB, could not read from config file -- config in different folder / Uninstall it?mongoDB,无法从配置文件中读取——不同文件夹中的配置/卸载它?
【发布时间】:2013-09-02 04:44:03
【问题描述】:

总的来说,我对 MongoDB 和 Mac 非常陌生。我从官方站点安装了 mongoDB 并带有一个下载包。

无论如何,考虑到我遇到的所有问题,我想卸载它并使用 Homebrew 重新安装。 Brew 抱怨 mongoDB 已经安装,所以我现在被卡住了。

从所有教程和在线搜索中,配置文件应该安装在 /etc/ 目录路径中。但是,我的 mongodb.conf 文件位于一个非常不同的文件结构中。每次尝试运行 mongod 时,我都会得到一个 ERROR: could not read from config file

这是我的配置文件所在的位置:

/opt/sm/sets/versions/databases/head/mongodb/templates/mongodb.conf

我该怎么做:

  1. 让当前版本工作(MongoDB shell 版本:2.4.6)
  2. 完全卸载 mongoDB,以便我可以使用 Homebrew 安装它(这似乎更直接)?

编辑:我也尝试按照本指南进行操作,但没有成功。 http://www.mkyong.com/mongodb/how-to-install-mongodb-on-mac-os-x/ 谢谢

【问题讨论】:

  • 您是否在运行 mongod 时使用指向配置文件的选项及其完整路径?您能显示您正在运行的确切 mongod 命令以及 mongodb.conf 文件的权限和内容吗?
  • 问题已解决。原来我系统上 /opt/sm/sets/versions/databases/head/mongodb/ 的 mongodb.conf 文件与 mongo 抱怨它无法读取的配置文件不同。需要的文件是我必须首先在 bin 文件夹中创建的 mongodb.config。保存后,我可以使用 mongod --config /opt/sm/sets/versions/databases/head/mongodb/bin 启动
  • 恐怕你错了 - 错误消息准确地告诉你它试图打开的文件,这就是你用 --config 参数传递的文件。请参阅我对您的回答的评论。
  • 我遇到了同样的问题。原来我的 mongodb.conf 文件实际上是 mongodb.conf.txt。这是开发箱上的一个新用户帐户,我忘记关闭“隐藏已知文件类型的扩展名”。自从上次我不得不这样做以来已经有一段时间了......

标签: mongodb homebrew uninstallation


【解决方案1】:

通过以下步骤解决了问题(感谢 Karl Seguin 的“The Little MongoDB Book”)。

如果您通过 mongodb.org 的下载包安装 MongoDB,您必须在 /bin 中创建自己的配置文件。请按照以下说明进行操作

(抄自 Karl Seguin 的书):

  1. 下载包
  2. 解压包
  3. 在名为 mongodb.config 的 bin 子文件夹中创建一个新的文本文件(如果您在保存文件时遇到权限问题,请先将其保存到桌面,然后将文件移动到文件夹中)。
  4. 在 mongodb.config 中添加一行:dbpath=PATH_TO_WHERE_YOU_WANT_TO_STORE_YOUR_DATABASE_FILES。 例如,在 Windows 上您可能会执行 dbpath=c:\mongodb\data 而在 Linux 上您可能会执行 dbpath=/var/lib/ mongodb/数据。
  5. 确保您指定的 dbpath 存在
  6. 使用 --config /path/to/your/mongodb.config 参数启动 mongod

对我来说,mongodb.config 文件的启动路径是:

mongod --config /opt/sm/sets/versions/databases/head/mongodb/bin

(注意,这是 mongodb.config,而不是许多教程要求指向的 mongodb.conf 文件。)

希望这对某人有所帮助。

Seguin 书籍链接(免费):http://openmymind.net/mongodb.pdf

【讨论】:

  • 除了你的命令是错误的——你正在指定一个目录并且 --config 需要一个带有选项的 file。而且您不需要特别命名该文件,并且您不需要在 bin 目录中指定任何路径/文件名,只要它是可读的即可。
【解决方案2】:

在 windows 中,如果你想使用 config 运行 mongodb,请不要忘记引号来指示 mongo.config 的位置。

示例:如果您的 mongod.exe 位于 C:\Program Files\MongoDB\bin 中,并且您位于带有提示符的文件夹中(具有管理员权限),并且假设 mongo.config 位于 C:\Program Files\ MongoDB 运行:

mongod.exe --config "C:\Program Files\MongoDB\mongo.config"

【讨论】:

    【解决方案3】:

    您的配置文件的扩展名无关紧要,但如果您不正确,它可能无法从中读取。

    如果您使用记事本等文本编辑器,请确保文件扩展名完全相同。 否则将 .txt 添加到末尾 /opt/sm/sets/versions/databases/head/mongodb/templates/mongodb.conf.txt

    你一定以为你用 mongodb.conf 保存了它,而它实际上是 mongodb.conf.txt

    【讨论】:

    • 这是我的问题。如果在 Windows 上:按 Windows 键,键入文件夹选项。在“查看”选项卡下,查找“隐藏已知文件类型的扩展名”复选框并取消选中它。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2019-01-08
    • 2013-10-04
    • 1970-01-01
    • 2018-04-28
    • 2023-01-10
    相关资源
    最近更新 更多