在Windows 7 [32位]启动MongoDB时出错

时间:2014-11-19 10:08:42

标签: mongodb windows-7 32-bit

我跟着blog(link)在我的系统[ Windows 7 32位]中安装和配置MongoDB。

根据博主的说法,我已经下载 mongodb-win32-i386-2.6.5 并摘录到 D:/ mongodb / 并跟随blog

直到安装一切正常,但当我尝试使用以下命令启动服务时,

 D:\mongodb\bin>net start MongoDB

我收到了错误回复,

System error 2 has occurred.

The system cannot find the file specified.

如何解决这个问题?


更新:日志文件

  

2014-11-19T16:43:25.356 + 0530 [DataFileSync]刷新诊断日志

     

2014-11-19T16:43:25.403 + 0530 [initandlisten] MongoDB启动:pid = 5128 port = 27017 dbpath = D:\ mongodb \ data 32位主机= AVVENIRE-JAVA

     

2014-11-19T16:43:25.403 + 0530 [initandlisten]

     

2014-11-19T16:43:25.403 + 0530 [initandlisten] **注意:这是一个32位的MongoDB二进制文件。

     

2014-11-19T16:43:25.403 + 0530 [initandlisten] ** 32位版本限制为少于2GB的数据(或者更少的--journal)。

     

2014-11-19T16:43:25.403 + 0530 [initandlisten] **见http://dochub.mongodb.org/core/32bit

     

2014-11-19T16:43:25.404 + 0530 [initandlisten]

     

2014-11-19T16:43:25.404 + 0530 [initandlisten] targetMinOS:Windows XP SP3

     

2014-11-19T16:43:25.404 + 0530 [initandlisten] db version v2.6.1

     

2014-11-19T16:43:25.404 + 0530 [initandlisten] git version:4b95b086d2374bdcfcdf2249272fb552c9c726e8

     

2014-11-19T16:43:25.404 + 0530 [initandlisten]构建信息:windows sys.getwindowsversion(major = 6,minor = 0,build = 6002,platform = 2,service_pack ='Service Pack 2')BOOST_LIB_VERSION = 1_49

     

2014-11-19T16:43:25.404 + 0530 [initandlisten] allocator:system   2014-11-19T16:43:25.404 + 0530 [initandlisten]选项:{config:“d:\ mongodb \ mongo.config”,diaglog:3,net:{bindIp:“127.0.0.1”,port:27017}, storage:{dbPath:“D:\ mongodb \ data”,journal:{enabled:true}},systemLog:{destination:“file”,logAppend:true,path:“D:\ mongodb \ log \ mongo.log” ,安静:真实}}

     

2014-11-19T16:43:25.483 + 0530 [initandlisten] journal dir = D:\ mongodb \ data \ journal

     

2014-11-19T16:43:25.484 + 0530 [initandlisten] recover:没有日志文件,无法恢复

     

2014-11-19T16:43:25.770 + 0530 [initandlisten]等待端口27017上的连接

     

2014-11-19T16:44:25.439 + 0530 [DataFileSync]刷新诊断日志

     

2014-11-19T16:45:25.361 + 0530 [DataFileSync]刷新诊断日志

     

2014-11-19T16:46:25.360 + 0530 [DataFileSync]刷新诊断日志

     

2014-11-19T16:46:31.869 + 0530 [conn1]终止,收到关机命令

     

2014-11-19T16:46:31.869 + 0530 [conn1] dbexit:shutdown called

     

2014-11-19T16:46:31.869 + 0530 [conn1]关闭:关闭侦听套接字......

     

2014-11-19T16:46:31.869 + 0530 [conn1]关闭侦听套接字:540

     

2014-11-19T16:46:31.869 + 0530 [conn1] shutdown:要刷新diaglog ......

     

2014-11-19T16:46:31.869 + 0530 [conn1]刷新诊断记录

     

2014-11-19T16:46:31.869 + 0530 [conn1]关闭:关闭套接字......

     

2014-11-19T16:46:31.870 + 0530 [conn1] shutdown:等待fs preallocator ......

     

2014-11-19T16:46:31.870 + 0530 [conn1] shutdown:锁定最终提交......

     

2014-11-19T16:46:31.870 + 0530 [conn1] shutdown:final commit ...

     

2014-11-19T16:46:31.873 + 0530 [conn1] shutdown:关闭所有文件......

     

2014-11-19T16:46:31.873 + 0530 [conn1] closeAllFiles()已完成

     

2014-11-19T16:46:31.873 + 0530 [conn1] journalCleanup ......

     

2014-11-19T16:46:31.889 + 0530 [conn1] removeJournalFiles

     

2014-11-19T16:46:31.891 + 0530 [conn1] shutdown:删除fs锁......

     

2014-11-19T16:46:31.891 + 0530 [conn1] dbexit:现在真的退出

     

2014-11-19T16:47:08.985 + 0530 *****服务器重启*****

     

2014-11-19T16:47:08.985 + 0530尝试安装Windows服务'MongoDB'

     

2014-11-19T16:47:08.985 + 0530已有一项名为'MongoDB'的服务正在中止


更新2(@ disposer建议的结果):

enter image description here

5 个答案:

答案 0 :(得分:6)

以管理员身份运行命令窗口并运行net delete MongoDB

要将mongo作为服务运行,请使用:

C:\mongodb\bin\mongod --bind_ip  0.0.0.0 --logpath  "C:\Data\db\log.txt"  --logappend  --dbpath  "C:\Data\db"  --port 27017 --serviceName "MongoDB" --serviceDisplayName "MongoDB" --install

然后以管理员身份运行命令窗口并运行net start MongoDB

答案 1 :(得分:4)

从此链接下载@ http://downloads.mongodb.org/win32/mongodb-win32-i386-v3.2-latest-signed.msi?_ga=1.10304565.1436936475.1490595203

在E:驱动器中安装后,使用选项运行mongod命令  @ E:\ Program Files \ MongoDB \ Server \ 3.2 \ bin> mongod --storageEngine = mmapv1 --dbpath C:\ data \ db

观察,有两个选项需要安装,没有错误,特别是对于32位, - sortEngine = mmapv1并在OS驱动器(c :)中创建一个目录,仅作为--dbpath C:\ data \ db

让您的服务器在命令提示符下运行,从http://s3.mongobooster.com/download/3.5/mongobooster-3.5.3.exe安装mongobooster,以便GUI管理mongodb。 并连接到本地database..try示例@ https://www.youtube.com/playlist?list=PL6gx4Cwl9DGDQ5DrbIl20Zu9hx1IjeVhO

答案 2 :(得分:3)

我让它像这样工作..

  1. 安装最新的msi版本。

  2. 创建文件夹c:\ data \ db

  3. 在我的bin目录(C:\ Program Files \ MongoDB \ Server \ 3.2 \ bin)中,我运行了 mongod --storageEngine = mmapv1 --dbpath C:\ data \ db 使用CMD。

  4. 打开一个新的CMD窗口(保持第一步仍在运行)并前往相同的bin目录(C:\ Program Files \ MongoDB \ Server \ 3.2 \ bin),然后运行mongo.exe

  5. 希望有所帮助

答案 3 :(得分:2)

在日志文件中显示

如果它显示“已经有一个名为'MongoDB'的服务,正在睡眠并重试”,则意味着您正在重新安装mongodb。要解决此问题,只需运行

  1. mongod-在bin文件夹中的命令提示符中删除。它将删除服务MongoDB。
  2. 然后运行mongod --directoryperdb --dbpath C:\ mongodb \ data \ db --logpath C:\ mongodb \ log \ mongo.log --logappend --install。
  3. 最后一个命令net start MongoDB将运行MongoDB服务。

答案 4 :(得分:0)

我在32位MongoDB 3.2中遇到了同样的错误。

  1. 尝试制作新的// Function that display a message if there is not in cart a mandatory product category function mandatory_category_display_message() { $categories_needed = your_mandatory_category_slug(); // check that cart is not empty (for cart and product category archives) if( !WC()->cart->is_empty() && ( is_cart() || is_product_category( $categories_needed[0] ) || is_product_category( $categories_needed[1] ) ) ){ $category_name = array(); $category_url = array(); // iterating both categories foreach($categories_needed as $key => $category_needed){ $category_obj = get_term_by( 'slug', $category_needed, 'product_cat' ); if ( is_wp_error( $category_obj ) ) return; $category_name[$key] = $category_obj->name; $category_url[$key] = get_term_link( $category_needed, 'product_cat' ); } // Display message when one of the product categories is not in cart items if ( !has_mandatory_category() ) { // render a notice to explain why checkout is blocked wc_add_notice( sprintf( __( '<strong>Reminder:</strong> You have to add in your cart, a product from "%1$s" or from "%3$s" category, to be allowed to check out. Please return <a href="%2$s"> here to "%1$s"</a> or <a href="%4$s"> here to "%3$s"</a> product pages', 'your_theme_domain'), $category_name[0], $category_url[0], $category_name[1], $category_url[1] ), 'error' ); } } } add_action( 'woocommerce_before_main_content', 'mandatory_category_display_message', 30 ); // for product mandatory category archives pages add_action( 'woocommerce_check_cart_items', 'mandatory_category_display_message' ); // for cart page 文件夹

  2. 从旧的db文件夹(有2个文件)复制粘贴数据库

  3. 使用db

  4. 将其与新的db文件夹相关联

    您不会丢失数据库。它发生在我身上两次。我不知道为什么会发生