【问题标题】:New to MongoDB Can not run command mongoMongoDB 新手无法运行命令 mongo
【发布时间】:2011-11-06 17:54:40
【问题描述】:

我正在尝试运行 MongoDB:

   E:\mongo\bin>mongod
    mongod --help for help and startup options
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 warning: 32-bit servers don't have journaling enabled by default. Please use --journal if you want durability.
    Sun Nov 06 18:48:37
    Sun Nov 06 18:48:37 [initandlisten] MongoDB starting : pid=7108 port=27017 dbpath=/data/db 32-bit host=pykhmer-PC
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] ** NOTE: when using MongoDB 32 bit, you are limited to about 2 gigabytes of data
    Sun Nov 06 18:48:37 [initandlisten] **       see http://blog.mongodb.org/post/137788967/32-bit-limitations
    Sun Nov 06 18:48:37 [initandlisten] **       with --journal, the limit is lower
    Sun Nov 06 18:48:37 [initandlisten]
    Sun Nov 06 18:48:37 [initandlisten] db version v2.0.1, pdfile version 4.5
    Sun Nov 06 18:48:37 [initandlisten] git version: 3a5cf0e2134a830d38d2d1aae7e88cac31bdd684
    Sun Nov 06 18:48:37 [initandlisten] build info: windows (5, 1, 2600, 2, 'Service Pack 3') BOOST_LIB_VERSION=1_42
    Sun Nov 06 18:48:37 [initandlisten] options: {}
    Sun Nov 06 18:48:37 [initandlisten] exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating
    Sun Nov 06 18:48:37 dbexit:
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close listening sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to flush diaglog...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: going to close sockets...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: waiting for fs preallocator...
    Sun Nov 06 18:48:37 [initandlisten] shutdown: closing all files...
    Sun Nov 06 18:48:37 [initandlisten] closeAllFiles() finished
    Sun Nov 06 18:48:37 dbexit: really exiting now

E:\mongo\bin>mongo
MongoDB shell version: 2.0.1
connecting to: test
Sun Nov 06 18:48:42 Error: couldn't connect to server 127.0.0.1 shell/mongo.js:84
exception: connect failed

E:\mongo>ls
GNU-AGPL-3.0  README  THIRD-PARTY-NOTICES  bin  data

我在看http://www.mongodb.org/display/DOCS/Quickstart+Windows 并按照说明进行操作。 谁能告诉我运行 MongoDB 有什么问题(我使用的是 Windows 7)?

【问题讨论】:

  • 投反对票,因为阅读日志不能被要求太多,即使是新人。关机开始前的那一行清楚地说明了正在发生的事情。

标签: windows mongodb


【解决方案1】:

安装 MongoDB 后,您应该手动创建一个数据文件夹。

默认情况下,MongoDB 会将数据存储在 /data/db 中, 但它不会自动创建该目录。要创建它,请执行以下操作: $ sudo mkdir -p /data/db/ $ sudo chown `id -u` /data/db 您还可以告诉 MongoDB 使用不同的数据目录, 使用 --dbpath 选项。

For more detailed information go to MongoDB wiki page.

【讨论】:

  • 这应该是答案 - 它有效并且比“阅读文档”更有帮助。
  • 另外值得注意的是,我今天才发现这一点,如果你用 service mongodb start 启动 mongo,它会自动读取 /etc/mongod.conf 文件,你不需要指定你的 --dbpath 或 --每次启动时配置变量!这绝对适用于 10gen 安装,但我不确定其他人,因为我没有尝试过。
【解决方案2】:

我认为您的日志输出清楚地说明了这一点;

exception in initAndListen: 10296 dbpath (/data/db) does not exist, terminating

您可以简单地创建此目录或将define it 作为配置文件中的配置值,然后将其用作mongod -f C:\path\to\your\mongodb.conf

【讨论】:

  • 不用担心。干掉那个windowz的东西,它会让你对软件开发更加熟悉..
  • 默认情况下,MongoDB 会在:c:\data\db 文件夹中查找,因此您也可以只创建该目录结构,MongoDB 数据库进程不会对您大喊大叫。
  • 我将 data\db 放在了很多地方,并且使用 --dbpath 选项无济于事。唯一可行的方法是按照 Miguel Sevilla 的建议创建 c:\data\db 文件夹。
【解决方案3】:

像这样明确指定数据库路径,看看是否能解决问题。

mongod --dbpath data/db

【讨论】:

  • 如果目录不存在,在mongo 4.2版本下会失败
【解决方案4】:
mongod --dbpath "c://data/db"

运行上面的代码,这将启动服务器。

【讨论】:

    【解决方案5】:

    对于 Windows 7

    您可以使用 mongod.exe 的 dbpath 设置为 \data\db 指定备用路径

    如下例:

    c:\mongodb\bin\mongod.exe --dbpath c:\mongodb\data\db
    

    您可以通过配置文件设置dbpath

    【讨论】:

      【解决方案6】:

      检查数据库数据文件的路径是否存在;):

      11 月 6 日星期日 18:48:37 [initandlisten] initAndListen 中的 异常:10296 dbpath (/data/db) 不存在,正在终止

      【讨论】:

        【解决方案7】:

        这对我有用(如果它适用,您还可以看到锁定文件):

        first>youridhere@ubuntu:/var/lib/mongodb$ sudo service mongodb start 
        then >youridhere@ubuntu:/var/lib/mongodb$ sudo rm mongod.lock*
        

        【讨论】:

          【解决方案8】:

          经过多次尝试,这对我在 Windows 7 环境中有效:

          你复制所有MongDB源的初始目录有这样的视图:

          bsondump.exe
          mongo.exe
          mongod.exe
          mongod.pdb
          mongodump.exe
          mongoexport.exe
          mongofiles.exe
          mongoimport.exe
          mongooplog.exe
          mongoperf.exe
          mongorestore.exe
          mongos.exe
          mongos.pdb
          mongostat.exe
          mongotop.exe
          

          您只需要添加 data 目录和嵌套的 db 目录(data/db) 最终视图应如下所示:

          data
          bsondump.exe
          mongo.exe
          mongod.exe
          mongod.pdb
          mongodump.exe
          mongoexport.exe
          mongofiles.exe
          mongoimport.exe
          mongooplog.exe
          mongoperf.exe
          mongorestore.exe
          mongos.exe
          mongos.pdb
          mongostat.exe
          mongotop.exe
          

          比简单地输入 MongoDB 源和 data/db 目录存在的目录这个命令:

          C:\my_mongo_dir\bin>mongod --dbpath .\data\db
          

          【讨论】:

            【解决方案9】:

            还要检查您是否已将 Mongo 作为 Windows 服务安装以及它是否正在运行。这也很重要。因此可能会出现端口冲突。

            【讨论】:

              【解决方案10】:

              在您的主(Windows)分区中创建 data/db 目录:

              C:\> mkdir \data
              C:\> mkdir \data\db
              

              然后转到您的 mongo_directory/bin 并运行 mongod.exe:

              C:\> cd \my_mongo_dir\bin
              
              C:\my_mongo_dir\bin> mongod
              

              不要关闭此窗口

              现在在不同的命令提示符窗口中运行 Mongo:

              C:\> cd \my_mongo_dir\bin
              C:\my_mongo_dir\bin> mongo
              

              (请记住,您必须保持其他窗口打开)

              这解决了我的问题。

              【讨论】:

              • >> mongod --install --dbpath c:\data\db --logpath c:\data\log >> net start "Mongo DB" // 注意:net start 可能需要管理员权限
              【解决方案11】:

              在工作目录中创建文件夹结构data/db,然后使用“mongod --dbpath data/db”启动mongodb就可以了

              【讨论】:

                【解决方案12】:

                如果你使用的是 Windows,你应该创建一个startup.bat,这样更方便:

                C:\mongodb\mongodb-win32-x86_64-eiditon\bin\mongod.exe --dbpath C:\mongodb\data
                

                只需 dbclick startup.bat 和 mongodb 将使用 C:\mongodb\data 作为其数据文件夹运行。

                【讨论】:

                  【解决方案13】:

                  您只需要在 C: 中创建目录。作为 C:\data\db\

                  现在启动 mongoDB:

                  C:\Users\gi.gupta>"c:\Program Files\MongoDB\Server\3.2\bin\mongod.exe"
                  2016-05-03T10:49:30.412+0530 I CONTROL  [main] Hotfix KB2731284 or later update is not installed, will zero-out data files
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] MongoDB starting : pid=7904 port=27017 dbpath=C:\data\db\ 64-bit host=GLTPM-W036
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] targetMinOS: Windows 7/Windows Server 2008 R2
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] db version v3.2.6
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] git version: 05552b562c7a0b3143a729aaa0838e558dc49b25
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.0.1p-fips 9 Jul 2015
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] allocator: tcmalloc
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] modules: none
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] build environment:
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distmod: 2008plus-ssl
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     distarch: x86_64
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten]     target_arch: x86_64
                  2016-05-03T10:49:30.414+0530 I CONTROL  [initandlisten] options: {}
                  2016-05-03T10:49:30.427+0530 I -        [initandlisten] Detected data files in C:\data\db\ created by the 'wiredTiger' storage engine, so setting the active storage engine to
                  2016-05-03T10:49:30.429+0530 I STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=1G,session_max=20000,eviction=(threads_max=4),config_base=false,statistics=(f
                  chive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),checkpoint=(wait=60,log_size=2GB),statistics_log=(wait=0),
                  2016-05-03T10:49:30.998+0530 I NETWORK  [HostnameCanonicalizationWorker] Starting hostname canonicalization worker
                  2016-05-03T10:49:30.998+0530 I FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory 'C:/data/db/diagnostic.data'
                  2016-05-03T10:49:31.000+0530 I NETWORK  [initandlisten] waiting for connections on port 27017
                  2016-05-03T10:49:40.766+0530 I NETWORK  [initandlisten] connection accepted from 127.0.0.1:57504 #1 (1 connection now open)
                  

                  然后它将作为服务在后台运行。

                  【讨论】:

                    【解决方案14】:

                    如果您使用的是 Windows 7/ 7+。

                    您可以尝试以下方法。

                    在您的计算机的控制面板中检查安装是否正确。

                    现在转到安装 MongoDB 的目录和位置。理想情况下,它会在

                    C:\Program Files\MongoDB\Server\3.6\bin

                    然后在命令提示符或 IDE 的终端中。导航到上述路径(最好是您的保存文件)并输入

                    mongod --dbpath

                    应该没问题!

                    【讨论】:

                      【解决方案15】:

                      mongo README 帮助文件给出的最简单的方法

                      正在运行

                      对于命令行选项调用:

                      $ ./mongod --help
                      

                      运行单个服务器数据库:

                      $ sudo mkdir -p /data/db
                      $ ./mongod
                      $
                      $ # The mongo javascript shell connects to localhost and test database by default:
                      $ ./mongo
                      > help
                      

                      如果您使用的是 Windows, 转到您有 mongo.exe 的目录

                      使用以下命令,(我正在分享我的)

                      C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data
                      
                      C:\Program Files\MongoDB\Server\3.6\bin>mkdir \data\db
                      
                      C:\Program Files\MongoDB\Server\3.6\bin>mongod ## this will start your mongoDB server
                      

                      现在你需要运行另一个 CMD 提示符并转到你有 mongo 的目录并运行它

                      C:\Program Files\MongoDB\Server\3.6\bin>mongo ## this will start your mongoDB client
                      

                      希望对您有所帮助:)

                      如果不起作用,请以管理员身份运行 CMD

                      【讨论】:

                        猜你喜欢
                        • 2023-02-06
                        • 2013-09-18
                        • 2022-10-13
                        • 1970-01-01
                        • 1970-01-01
                        • 1970-01-01
                        • 2018-08-29
                        • 1970-01-01
                        • 1970-01-01
                        相关资源
                        最近更新 更多