Windows下安装MongoDB-阿里云开发者社区

开发者社区> 开发与运维> 正文

Windows下安装MongoDB

简介:
  1. 1、下载MongoDB数据库http://fastdl.mongodb.org/win32/mongodb-win32-i386-1.6.5.zip;  
  2.   
  3. 2、将安装文件解压到C盘(注意:安装路径中不能出现空格),配置“环境变量”,将 %MONGODB_HOME%in 添加到“Path”中;  
  4.   
  5. 3、进入DOS窗口,设置数据保存目录(与端口)和日志输出目录。  
  6. DOS命令:  
  7.   
  8. mongod --port <端口> --dbpath <数据路径> --logpath <日志路径> --logappend --directoryperdb  
  9.   
  10.   
  11. 参数说明:  
  12. --port    表示数据库端口,默认27017;  
  13. --dbpath  表示数据文件存储路径,一般设置为%MONGODB_HOME%data;  
  14. --logpath 表示日志文件存储路径,一般设置为%MONGODB_HOME%logsmongodb.log;  
  15. --logappend 表示日志追加,默认是覆盖;  
  16. --directoryperdb 表示每个db一个目录;  
  17.   
  18. 4、完成以上设置,MongoDB已经启动,新开启DOS窗口,执行“mongo.exe”,出现“MongoDB shell version: 1.8.1”表示安装成功了。  
  19.   
  20. 5、目前是以无权限限制的方式启动的,你可以做任何操作。那么我们先切换到admin下,创建一个root用户吧。执行命令:  
  21. "use admin" -> "db.addUser("root","root")" -> "db.auth("root","root")",如下图所示:  
  22.   
  23.   
  24. 6、把MongoDB注册为Windows Service,让它开机自动启动;执行命令:  
  25.   
  26. mongod --bind_ip 127.0.0.1 --logpath %MONGODB_HOME%logsmongodb.log --logappend --dbpath %MONGODB_HOME%data --directoryperdb --auth --install  
  27.   
  28.   
  29. 注意:  
  30.     a.必须切换到bin目录下执行该条指令。  
  31.     b.必须添加--auth用户权限才会生效。  
  32.     c.除了“--auth”和“--install”两个参数,别的参数要跟你设置用户时启动服务的参数一致,尤其是“--directoryperdb”。  
  33.     第一次配置完成后,一定要重启才会有效果 重启mongo客户端,不输入-u-p可以直接进入,但是不具有任何权限。正确的访问方式为:mongo 数据库名 -u 用户名 -p。另外设置用户  
  34.   
  35. 7、服务安装成功后的界面:  
  36.   
  37.   
  38. 8、如果安装失败:  
  39. 删除MongoDB服务,执行命令:  
  40.   
  41. sc delete MongoDB  
  42.   
  43.   
  44. 启动MongoDB服务,执行命令:  
  45.   
  46. net start "MongoDB"  
  47.   
  48.   
  49.   
  50. 9、在cmd下可有两种方法打开,net和sc,net用于打开没有被禁用的服务,语法是:  
  51. 启动:net/sc start 服务名  
  52. 停止:net/sc stop 服务名  
  53.   
  54. 10、另外,sc可用于打开被禁用的服务,语法是:  
  55. sc config 服务名 start= demand    //手动  
  56. sc condig 服务名 start= auto      //自动  
  57. sc config 服务名 start= disabled //禁用  
  58. 注意:以上三个命令“=”号后面必须有一个空格   
  59.   
  60.   
  61.   
  62.   
  63. Mongo(也译芒果)名字来自humongous,意思是巨大无比的,极大的。它是一个高性能,开源,无模式的文档型NOSQL数据库。Mongo使用C++开发,提供了以下功能:  
  64.   
  65.     面向集合的存储:适合存储对象及JSON形式的数据。  
  66.   
  67.     动态查询:Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。  
  68.   
  69.     完整的索引支持:包括文档内嵌对象及数组。Mongo的查询优化器会分析查询表达式,并生成一个高效的查询计划。  
  70.   
  71.     查询监视:Mongo包含一个监视工具用于分析数据库操作的性能。  
  72.   
  73.     复制及自动故障转移:Mongo数据库支持服务器之间的数据复制,支持主-从模式及服务器之间的相互复制。复制的主要目标是提供冗余及自动故障转移。  
  74.   
  75.     高效的传统存储方式:支持二进制数据及大型对象(如照片或图片)。  
  76.   
  77.     自动分片以支持云级别的伸缩性:自动分片功能支持水平的数据库集群,可动态添加额外的机器。  
  78.   
  79.   
  80. MongoDB服务端可运行在Linux、Windows或OS X平台,支持32位和64位应用,在32位模式运行时支持的最大文件尺寸为2GB。  
  81. 常用启动参数:  
  82. –dbpath 指定特定存储目录启动,若目录不存在则创建。默认目录为/data/db。例:./mongod –dbpath /var/data/mongo  
  83. –port 指定端口启动。默认端口为27017。例:./mongod –port 12345  
  84.   
  85. windows 下使用方法  
  86. 直接启动:  
  87.  $ bin/mongod.exe #启动服务器  
  88.  $ bin/mongo.exe  #启动客户端连接  
  89.   
  90. 注册为服务,这样以后开机就可以自动启动  
  91.  $ bin/mongod.exe --logpath c:\data\log.log --logappend --dbpath "c:\data\db" --install  #主要是install 参数,要新建c:\data\log.log文件和c:\data\db目录  
  92.   
  93. 删除服务  
  94.  $ bin/mongod.exe --remove  
  95.   
  96. 当注册为服务时可以Win+R打开运行,输入services.msc来查看服务状态  
  97.   
  98. 常见错误  
  99. 1、monge.exe客户端连接时报错:couldn’t connect to server 127.0.0.1 shell/mongo.js:79  
  100. 这是因为monged.exe启动失败  
  101.   
  102. 2、多次尝试后monged.exe启动失败,始终没找到原因  
  103. 这个错误困扰了我一段时间,后来发现c:\data\db下有个mongod.lock锁文件,把这个文件删除后,重新启动服务器就可以了。  
  104.   
  105.   
  106.   
  107. 服务启动报错: error2: system can not find the file specified.  
  108.   
  109. solution:  
  110. 安装服务的时候, 你需要用 mongod.exe的 full path  
  111.   
  112. C:\mongodb-win32-i386-1.8.2\bin\mongod.exe --logpath c:\mongo  
  113. db\logs\mongo.log --dbpath c:\mongodb\data\db --directoryperdb --install  
  114.   
  115. to remove service  
  116.   
  117. C:\mongodb-win32-i386-1.8.2\bin\mongod.exe --logpath c:\mongo  
  118. db\logs\mongo.log --dbpath c:\mongodb\data\db --directoryperdb --remove  
  119.   
  120. and re open windows service windows, the original service will gone.   
  121. http://zuoqiang.iteye.com/blog/1137288








====================================分割线================================



最新内容请见作者的GitHub页:http://qaseven.github.io/

版权声明:本文首发在云栖社区,遵循云栖社区版权声明:本文内容由互联网用户自发贡献,版权归用户作者所有,云栖社区不为本文内容承担相关法律责任。云栖社区已升级为阿里云开发者社区。如果您发现本文中有涉嫌抄袭的内容,欢迎发送邮件至:developer2020@service.aliyun.com 进行举报,并提供相关证据,一经查实,阿里云开发者社区将协助删除涉嫌侵权内容。

分享:
开发与运维
使用钉钉扫一扫加入圈子
+ 订阅

集结各类场景实战经验,助你开发运维畅行无忧

其他文章