nodeJS学习(7)--- WS开发 NodeJS 项目-节2 <安装&设置&启动 mongodb 数据库++遇到的问题>
本文系统 win7
参考:http://lib.csdn.net/article/mongodb/58097
http://www.cnblogs.com/lzrabbit/p/3682510.html(没有MongoDB 服务 或者 MongoDB Windows 启动出错等等...使用 net start MongoDB 不能启动服务时,获得很多的帮助,在此感谢!)
http://blog.sina.com.cn/s/blog_ae0830180101p2xm.html
1. 下载 mongodb,可下载 .msi 或 压缩文件,本文下载:.msi 文件,网址:http://dl.mongodb.org/dl/win32/x86_64
2. 安装 mongodb,主要步骤如下:
-- .msi 文件方式安装:双击 .msi 文件,一路同意,按操作提示安装即可(已实践)。
安装过程中,你可以通过点击 "Custom(自定义)" 按钮来设置你的安装目录。
---压缩文件方式安装:将zip文件解压放到盘符的根目录(如C:或D:),为了方便建议文件夹命名尽量简短如(d:\mongodb)
创建数据库文件的存放位置,比如d:/mongodb/data/db。启动mongodb服务之前需要必须创建数据库文件的存放文件夹,否则命令不会自动创建,而且不能启动成功。
设置数据库文件的存放位置: 打开cmd(windows键+r输入cmd)命令行,进入D:\mongodb\bin目录(如图先输入d:进入d盘--然后输入cd d:\mongodb\bin),
输入如下的命令启动 mongodb 服务:
mongod --dbpath D:\mongodb\data\db
mongodb 默认连接端口27017,如果出现如图的情况:
看到上面的提示底部出现 waiting for connections on port 27017
字样,则表示 dbpath 配置完成,且MongoDB启动成功。
而且此时打开资源管理器,进入MongoDB的dbpath目录,内容如下:
可以发现本地确实初始化数据库了。
验证: 可以打开http://localhost:27017查看(笔者这里是chrome),出现如图,则表示连接成功,如果不成功,可以查看端口是否被占用。
3. 配置 mongodb,主要步骤如下(已成功实践):
在上面的配置中,虽然启动了服务,且可以进行数据库操作,但是开两个窗口很不方便,所以可以通过配置文件,来配置windows服务。
(1) 创建目录:为您的数据库和日志文件创建目录:
mkdir D:\MongoDB\data\db
mkdir D:\MongoDB\data\logs
(2) 创建cfg配置文件:创建一个配置文件,文件内必须设置MongoDB日志路径 systemLog.path。包扩一些其他的附加配置选项。
例如,在在D:\MongoDB\
下创建mongodb.conf,并在文件内指定 systemlog.path 和 storage.dbpath:
dbpath= D:\MongoDB\data\db #数据库路径
logpath= D:\MongoDB\data\logs\mongodb.log #日志输出文件路径
logappend= true #错误日志采用追加模式,配置这个选项后mongodb的日志会追加到现有的日志文件,而不是从新创建一个新文件
journal= true #启用日志文件,默认启用
quiet= true #这个选项可以过滤掉一些无用的日志信息,若需要调试使用请设置为false
port= 27017 #端口号 默认为27017
(3) 命令行 设置 文件地址:
mongod --bind_ip yourIPadress # 默认即可,即不用设置
mongod --logpath D:\Applications\MongoDB\data\logs\mongod.log --logappend # 主要1
mongod --dbpath D:\Applications\MongoDB\data\db --directoryperdb # 主要2
mongod --port yourPortNumber # 可默认(默认端口:27017),即不用设置
mongod --serviceName "YourServiceName"
mongod --serviceDisplayName "YourServiceName" # 主要3
mongod --install
下表为mongodb启动的参数说明:
参数 | 描述 |
---|---|
--bind_ip | 绑定服务IP,若绑定127.0.0.1,则只能本机访问,不指定默认本地所有IP |
--logpath | 定MongoDB日志文件,注意是指定文件不是目录 |
--logappend | 使用追加的方式写日志 |
--dbpath | 指定数据库路径 |
--port | 指定服务端口号,默认端口27017 |
--serviceName | 指定服务名称 |
--serviceDisplayName | 指定服务名称,有多个mongodb服务时执行。 |
--install | 指定作为一个Windows服务安装。 |
强调: 在执行设置时,若出现如下问题:
其原因:官方最新版的 MongoDB 需要: VC++2015 RC x64的支持,否则会报出
下载网址:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145
可以通过命令: msinfo32 产看自己电脑的版本等系统信息。
解决方案:安装 VC redit.exe 程序解决
链接:https://www.microsoft.com/zh-cn/download/details.aspx?id=48145, 下载时选择x86还是x64的根据自己系统的需求,安装成功就可以了。
但是对于有些电脑系统,还会出现这些情况,提示安装失败:
http://blog.csdn.net/huqiao1206/article/details/50768481
(4) 添加环境变量: 在环境变量PATH中加入“D:\learnEclipse\MongoDB\bin“
(5) 以Windows服务器运行MongoDB:
参考:http://blog.sina.com.cn/s/blog_ae0830180101p2xm.html
以管理员方式打开CMD窗口,运行如下命令安装MongoDB服务 or 也可以在 “控制面板\所有控制面板项\管理工具\服务”找到名为“MongoDB”的服务右键启动
- 普通启动
mongod --config D:\MongoDB\etc\mongodb.conf
- 安装为Windows服务
注:2.6版 这种方式在win7、win8 64位版无法安装成功,其他系统未测试mongod --config D:\MongoDB\etc\mongodb.conf --install
- 使用 SC 安装为Windows服务
强调:若配置了dbpath 和 logpath, 服务里没有 MongoDB 或仍不能使用net start MongoDB 启动 MongoDB服务,则采用 sc 方法,如下:(已自实践)
sc create MongoDB binPath= "D:\MongoDB\bin\mongod.exe --service --config=D:\MongoDB\etc\mongodb.conf"
(6) 启动服务:在命令行中输入net start MongoDB 启动服务,关闭命令行工具,在浏览器中查看管理控制台。也可以在可以在 “控制面板\所有控制面板项\管理工具\服务”。
如下所示:
关闭和删除服务
停止 MongoDB 服务 使用以下命令:
net stop MongoDB
删除 MongoDB 服务 使用以下命令:
"D:\MongoDB\bin\mongod.exe" --remove
测试连接:
在CMD中运行如下命令,查看结果,则安装成功
4. MongoDB 可视化数据库管理工具
- mongoVUE :比较好用,更接近plsql ,下载地址: http://www.mongovue.com/
破解版下载:https://www.ddooo.com/softdown/93678.htm#dltab
强调:先安装好 .msi 文件,一路 Next 即可(可改路径),再将 .exe 文件考到安装路径并替换掉原来的即可。
破解方法 :开始-运行-regedit-搜索:B1159E65-821C3-21C5-CE21-34A484D54444 ,然后把1,2,3项数值删除,然后重新打开mongoVUE就行了。之后MongoVUE又重置到15天的情况了。
- robomongo:可用性略差,但能直接写shell而且有代码提示,期待他以后版本,下载地址: http://www.robomongo.org/
- umongo : 可用性略差,但在集群尤其切片维护方面不错,下载地址:
https://github.com/agirbal/umongo
5. MongoVUE 的使用
参考:http://blog.sina.com.cn/s/blog_5fb90aaa01011p4r.html
注意:MongoVUE 不支持mongodb 3.0以上的版本 可以下载 mongochef 利用这个可以创建新的Collection ( mongodb 3.x 是运行在 wiredTiger 引擎 )
- 配置连接:
- Ok,连接成功齐活儿~
- 下面来试一下,创建数据库表:鼠标右键点击数据库->选择Add Collection,输入Collection Name,点击ok创建完成。插入一个新的名为 Message 的 Collection :
注意: MongoDBVUE 无法显示 collection,如下图所示:
原因: MongoDB新的存储引擎为wiredTiger ,在这种存储引擎下面,我们用可视化工具MongoVUE是无法看到collection的
应该更换为mmapv1引擎
1、删除data文件夹,然后重新创建data
2、执行mongod --storageEngine mmapv1 --dbpath 数据目录
再接着重新创建 collection.
点击 Insert, 结果如图(其中 _id 最好由数据库自己生成,以防冲突/重复/...):
6. Robomongo 的使用
参考:http://www.2cto.com/database/201604/498288.html
- 启动MongoDB: 这是必须的呀,一切都要基于MongoDB的启动,RoboMongo不过是取代了win+R+mongo。
- 创建数据库(默认状态 ): 一般不使用
- 创建数据库 : 选中mylocal(1)右键–>Create DataBase
命名····依然想创建一个数据库放 records 信息。故,取名 recordsDB
- 添加集合
(1) 使用 Mongo shall 建立数据表: baseDB,右键–>Open shall
yeah,you are right.现在你可以为所欲为了,呵呵,你想go die的话···
展开userMassagesDB折叠
(2) 建立数据表:选中Collection,右键–>Create Collection
我创建了一个名叫userMassagesList的集合。
- 插入文档(单条信息): 继续小白的选中 userMassagesList,右键–>insert Document··· , then :
- 查看文档
选中userMassagesList,右键–>Viewv Documents···
nodeJS学习(7)--- WS开发 NodeJS 项目-节2 <安装&设置&启动 mongodb 数据库++遇到的问题>的更多相关文章
- nodeJS学习(8)--- WS/...开发 NodeJS 项目-节3 <使用 mongodb 完整实例过程>
使用 mongodb 的小系统 参考:https://my.oschina.net/chenhao901007/blog/312367 1. Robomongo 创建项目的数据库和数据表 参考:htt ...
- NodeJS学习笔记 进阶 (1)Nodejs进阶:服务端字符编解码&乱码处理(ok)
个人总结:这篇文章主要讲解了Nodejs处理服务器乱码及编码的知识,读完这篇文章需要10分钟. 摘选自网络 写在前面 在web服务端开发中,字符的编解码几乎每天都要打交道.编解码一旦处理不当,就会出现 ...
- NodeJS学习笔记 进阶 (13)Nodejs进阶:5分钟入门非对称加密用法
个人总结:读完这篇文章需要5分钟,这篇文章讲解了Node.js非对称加密算法的实现. 摘录自网络 地址: https://github.com/chyingp/nodejs-learning-guid ...
- NodeJS学习笔记 进阶 (12)Nodejs进阶:crypto模块之理论篇
个人总结:读完这篇文章需要30分钟,这篇文章讲解了使用Node处理加密算法的基础. 摘选自网络 Nodejs进阶:crypto模块之理论篇 一. 文章概述 互联网时代,网络上的数据量每天都在以惊人的速 ...
- idea开发web项目框架失效和无法启动问题
不会配置idea的javaweb环境的小伙伴可以点击此链接 idea最新版,配置javaweb环境 很多小伙伴用idea开发web项目可能会出现所有代码都写对了但是无论如何都没法运行的情况,eclip ...
- NodeJS学习日记--环境配置及项目初始化
在node.js官网下载nodejs安装包 安装完成后打开控制台,输入 npm -version 如果正确显示npm版本则安装成功. 创建项目之前先要安装以下全局扩展模块 npm install -g ...
- nodeJS学习(9)--- nodeJS模块:exports vs module.exports
模块简介: 通过Node.js的官方API可以看到Node.js本身提供了很多核心模块 http://nodejs.org/api/ 这些核心模块被编译成二进制文件,可以 require('模块名') ...
- NodeJS学习笔记 进阶 (11)Nodejs 进阶:调试日志打印:debug模块
个人总结:读完这篇文章需要5分钟,讲解了debug模块的使用 摘选自网络 前言 在node程序开发中时,经常需要打印调试日志.用的比较多的是debug模块,比如express框架中就用到了.下文简单举 ...
- nodeJS学习(11)--- nodeJS 取参 -- req.body & req.query & req.params
参考:https://my.oschina.net/u/2519530/blog/535309 获取请求中的参数是每个web后台处理的必经之路,nodejs的 express框架 提供了四种方法来实现 ...
随机推荐
- Bootstrap历练实例:弹出框(popover)事件
事件 下表列出了弹出框(Popover)插件中要用到的事件.这些事件可在函数中当钩子使用. 事件 描述 实例 show.bs.popover 当调用 show 实例方法时立即触发该事件. $('#my ...
- KVM修改虚机网卡模式:由NAT模式改为Bridge模式
1)关闭虚机# virsh shutdown vm1 2)编辑虚机配置文件# virsh edit vm1 <interface type='default'> 改为<int ...
- 1143: [CTSC2008]祭祀river
Time Limit: 10 Sec Memory Limit: 162 MBSubmit: 4018 Solved: 2048[Submit][Status][Discuss] Descript ...
- BZOJ1576: [Usaco2009 Jan]安全路经Travel(最短路 并查集)
题意 给你一张无向图,保证从1号点到每个点的最短路唯一.对于每个点求出删掉号点到它的最短路上的最后一条边(就是这条路径上与他自己相连的那条边)后1号点到它的最短路的长度 Sol emmm,考场上想了个 ...
- cf540D. Bad Luck Island(概率dp)
题意 岛上有三个物种:剪刀$s$.石头$r$.布$p$ 其中剪刀能干掉布,布能干掉石头,石头能干掉剪刀 每天会从这三个物种中发生一场战争(也就是说其中的一个会被干掉) 问最后仅有$s/r/p$物种生存 ...
- 14.2-ELK 经典用法—企业自定义日志收集切割和mysql模块
本文收录在Linux运维企业架构实战系列 一.收集切割公司自定义的日志 很多公司的日志并不是和服务默认的日志格式一致,因此,就需要我们来进行切割了. 1.需切割的日志示例 2018-02-24 11: ...
- Shell脚本使用汇总整理——文件夹及子文件备份脚本
Shell脚本使用汇总整理——文件夹及子文件备份脚本 Shell脚本使用的基本知识点汇总详情见连接: https://www.cnblogs.com/lsy-blogs/p/9223477.html ...
- 20190103(GIL,池,阻塞,同步异步)
GIL锁 什么是GIL GIL全局解释器锁,是防止多个线程在同一时间同时执行的.CPython解释器特有的一种互斥锁. 每一个py文件都会有自己的解释器,也就是说不同py文件的GIL都是独立的, ps ...
- 栈经典列题:Rails
解题心得: 1.这题是先进后出的顺序,所以使用栈(先进后出表). 2.搞清楚题意,需要达成的序列和进入的序.不要弄混了. 3.思维混乱的时候要冷静,冷静,冷静~~~~! 题目: Description ...
- Android 自定义 radiobutton
<RadioButton android:id="@+id/radiobutton_pay_method" android:layout_width="30dp&q ...