如何设置mongod --dbpath

 广东快乐笨人 发布于 2023-01-30 14:24

一般来说,mongodb和数据库都是新手.每当我运行时,mongo我收到此错误消息:

MongoDB shell version: 2.4.9
connecting to: test
Thu Jan 30 13:03:33.170 Error: couldn't connect to server 127.0.0.1:27017 
at src/mongo/shell/mongo.js:145
exception: connect failed

运行mongod我看到这一点:

Thu Jan 30 13:13:36.588 [initandlisten] MongoDB starting : pid=29408 port=27017 dbpath=/usr/local/var/mongodb 64-bit host=Kimis-MacBook-Air-2.local
Thu Jan 30 13:13:36.588 [initandlisten] 
Thu Jan 30 13:13:36.588 [initandlisten] ** WARNING: soft rlimits too low. Number of files is 256, should be at least 1000
Thu Jan 30 13:13:36.588 [initandlisten] db version v2.4.9
Thu Jan 30 13:13:36.588 [initandlisten] git version: nogitversion
Thu Jan 30 13:13:36.588 [initandlisten] build info: Darwin minilionvm.local 11.4.2 Darwin Kernel Version 11.4.2: Thu Aug 23 16:25:48 PDT 2012; root:xnu-1699.32.7~1/RELEASE_X86_64 x86_64 BOOST_LIB_VERSION=1_49
Thu Jan 30 13:13:36.588 [initandlisten] allocator: tcmalloc
Thu Jan 30 13:13:36.588 [initandlisten] options: { bind_ip: "127.0.0.1", config: "/usr/local/etc/mongod.conf", dbpath: "/usr/local/var/mongodb" }
Thu Jan 30 13:13:36.591 [initandlisten] journal dir=/usr/local/var/mongodb/journal
Thu Jan 30 13:13:36.591 [initandlisten] recover begin
Thu Jan 30 13:13:36.591 [initandlisten] recover lsn: 108155770
Thu Jan 30 13:13:36.591 [initandlisten] recover /usr/local/var/mongodb/journal/j._0
Thu Jan 30 13:13:36.591 [initandlisten] journal file version number mismatch got:4147 expected:4149. if you have just upgraded, recover with old version of mongod, terminate cleanly, then upgrade.
Thu Jan 30 13:13:36.592 [initandlisten] dbexception during recovery: 13536 journal version number mismatch 16711
Thu Jan 30 13:13:36.592 [initandlisten] exception in initAndListen: 13536 journal version number mismatch 16711, terminating
Thu Jan 30 13:13:36.592 dbexit: 
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: going to close listening sockets...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: going to flush diaglog...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: going to close sockets...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: waiting for fs preallocator...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: lock for final commit...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: final commit...
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: closing all files...
Thu Jan 30 13:13:36.592 [initandlisten] closeAllFiles() finished
Thu Jan 30 13:13:36.592 [initandlisten] shutdown: removing fs lock...
Thu Jan 30 13:13:36.592 dbexit: really exiting now

当我手动设置我的mongo dpath mongod --dbpath /data/db(因为应该是安装时的默认值)并保持它在终端运行一切正常.但是一旦我关闭它,一切都会再次破裂.我的问题是:

    为什么我的dbpath设置为/usr/local/var/mongodb

    我如何修复此错误,以便mongo在我的机器上工作?

我假设我需要永久设置dbpath /data/db或重新配置一些东西,所以它适用于dbpath/usr/local/var/mongodb

我也是unix命令的新手,所以不完全确定如何修复此错误.

谢谢你的任何建议!

所以,通过mongodb文档挖掘我读到这个:

"除非另有说明,否则mongod将在默认/data/db目录中查找数据文件.(Windows系统使用\ data\db目录.)如果使用软件包管理系统安装.请检查/etc/mongodb.conf软件包提供的文件以查看软件包的配置dbpath. "

当我看看里面的文件/etc/没有mongodb.conf文件...但是,我确实看到/usr/local/etc/mongod.conf...所以,如果我正确理解这一点,我应该创建一个调用的文件 /etc/mongodb.conf并将dbpath设置为/data/db.

我是否还需要删除内容/usr/local/

我认为这与我的PATH如何设置有关...有人可以向我解释如何在unix中解决这个问题,所以我不会有这个问题吗?

再次感谢!

4 个回答
  • 首先你将有一个配置文件/etc/mongodb.conf,因此这听起来像一个自制的安装,将使用一些更标准化的路径./data/db/在很多手动安装文档中引用了整个内容.

    所以基本上从你的日志服务器没有运行,它正在关闭,所以shell没有任何东西可以连接.好像你有一些不干净的关闭/重新启动导致了不一致.

    清除/usr/local/var/mongodb/journal/配置中日志中的文件.

    也:

    sudo rm /var/lib/mongodb/mongod.lock
    

    以防万一,尽管那部分看起来很干净.然后重启.

    2023-01-30 14:25 回答
  • 您可以在mongodb.conf文件中设置dbPath:

    storage:
        dbPath: "/path/to/your/database/data/db"
    

    这是一个基于YAML的配置文件格式(从Mongodb 2.6版本开始),所以要注意没有标签只有空格,以及":"之后的空格

    通常这个文件位于*nix系统中:/etc/mongodb.conf

    那么就跑吧

    $ mongod -f /etc/mongodb.conf
    

    而mongod进程将开始......

    (在Windows上的东西)

    > C:\MongoDB\bin\mongod.exe -f C:\MongoDB\mongod.conf
    

    2023-01-30 14:25 回答
  • 只在Mac上试过这个:

    在应用程序的根文件夹中创建数据目录

    在安装mongo目录时,将cd放入您的mongo目录

    运行此命令:

    mongod --dbpath~/path/to/your/app/data

    你应该好好去!

    2023-01-30 14:25 回答
  • 对我来说它必须有:

    mongod --dbpath=/whatever/data/path
    

    2023-01-30 14:25 回答
撰写答案
今天,你开发时遇到什么问题呢?
立即提问
热门标签
PHP1.CN | 中国最专业的PHP中文社区 | PNG素材下载 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有