1、什么是MongoDB?
它是介于关系型数据库和非关系型数据库之间的一种NoSQL数据库,用C++编写,是一款集敏捷性、可伸缩性、扩展性于一身的高性能的面向文档的通用数据库。
2、为什么要用MongoDB?
它具有以下几个特征:
a)、灵活的文档数据模型
可以非常容易的存储不同结构的的数据,并且还能动态的修改这些数据的源结构模式
b)、可伸缩可扩展性
从单个服务器到数千个节点,MongoDB可以很轻松的进行水平扩展,部署多个数据中心
c)、二级索引
包括在完全一致的任何字段上的索引、地理空间、文本搜索以及TTL索引,都能进行快速、细粒度的访问到数据
d)、丰富的查询语言
MongoDB的查询语言提供了多样化的字段级别的操作符、数据类型以及即时更新。几乎提供了所有编程语言的驱动来更直观的使用它
e)、健壮的操作工具
MongoDB的管理服务和运维管理工具可以使你很轻松的部署,监控、备份和规划它
3、什么时候用MongoDB?
以下几个使用场合:
a)、需要写入大量的数据,但是这些这些数据的价值并不是太高,比如:日志
b)、数据增长量较大,而且数据结构有时候还不一致
c)、未来数据会很大
4、MongoDB的安装部署
下载地址:http://www.mongodb.org/downloads,注意有32位和64位之分,32为数据库最大容量不能超过2GB!
博主系统是Win8.1 64位系统,所以以下是以此系统为例进行最新版本(3.03)的MongoDB的安装和部署!
a)、下载好64位的MSI安装文件,双击进行安装。
Ⅰ、直接Next进入下一步:
Ⅱ、勾选“I accept......”,你懂的、Next:
Ⅲ、第一个选项:Complete(完整版),默认安装所有功能到C盘;第二个选项Custom(自定义),可以选择安装目录与服务。这里我们选择Custom:
Ⅳ、默认全部功能安装,选择Browse更换安装目录到F:\MongoDB(自己选择、)下,Next,然后选择Install开始安装:
Ⅴ、安装完成!
Ⅶ、打开MongoDB目录下的bin文件夹,你会看到很多exe可执行文件,简单介绍下:
b)、开始部署:
Ⅰ、首先我们在安装目录(F:\MongoDB)下新建一个db文件夹作为数据库存放路径,然后用服务端文件指定为数据库目录!
win+R,输入cmd,进入DOS命令窗口,然后用cd命令进入F:\MongoDB:\bin目录下,执行如下命令:
F:\MongoDB\bin>mongod.exe --dbpath F:\MongoDB\db
将会输出服务端相关信息,包括版本,数据库所在路径,监听端口号,数据库大小等等、看到这个说明你已经成功了、
或者在浏览器中输入:http://localhost:27017/,你会看到下面一段话,
It looks like you are trying to access MongoDB over HTTP on the native driver port.
“正在尝试在本地驱动端口上用HTTP链接MongoDB”,也能说明你配置服务端成功了!
Ⅱ、启动MongoDB客户端进入shell、
服务端配置成功之后,我们不要关闭这个服务端DOS窗口,否则的话是无法连接的!
我们打开另外一个命令窗口,进入到F:\MongoDB:\bin下,输入mongo.exe命令连接数据库,
看到这个说明客户端已经成功连接服务器,接下来你就可以在shell中使用各式各样的mongodb命令了!!
如果服务端没有开启的话,会出现如下无法连接的错误:
c)、为系统添加MongoDB服务
到这一步那么会有人说了,我总不能每次使用客户端的时候都要保持一个服务端的DOS窗口为打开状态吧?答案当然是肯定不会的了!
下面我们就试着添加一个MongoDB服务:
Ⅰ、我们在F:\MongoDB目录下新建一个log文件夹用于存放日志文件,然后组合键 win+x+a,打开管理员命令提示符。
Ⅱ、使用如下命令创建配置文件mongod.cfg:
C:\Windows\system32>echo logpath=F:\MongoDB\log\mongod.log> "F:\MongoDB\mongod.cfg"
C:\Windows\system32>echo dbpath=F:\MongoDB\db>> "F:\MongoDB\mongod.cfg"
Ⅲ、好了,准备工作已经做完,下面开始最重要的一步,使用SC命令创建MongoDB服务:
C:\Windows\system32>sc.exe create MongoDB binpath="F:\MongoDB\bin\mongod.exe --service --config=F:\MongoDB\mongod.cfg"
之后会出现以下创建服务成功提示:
Ⅳ、开启服务:
使用如下命令:C:\Windows\system32>net start MongoDB 开启MongoDB服务!看到这个说明你成功了、
然后win+r,输入services.msc打开windows服务列表,你会看到一个名称为MongoDB,状态为“正在运行”的服务、
到此为止你就可以从服务中启动MongoDB,然后使用它的服务而不用一直保留着另一个服务端的DOS窗口了!
Ⅴ、关闭服务和删除服务
关闭服务使用如下命令:
C:\Windows\system32>net stop MongoDB
删除服务使用如下命令:
C:\Windows\system32>sc.exe delete MongoDB
启动时出现常见错误解决方法:
安装数据库mongodb的时候出现问题,服务没有响应控制功能,或者发生系统错误2。
这个问题是如果你之前已经装过一次,并且两次安装目录不同,就绝对会碰到的,因为你之前安装的路径已经在注册表中生成了,并没有随着你的卸载而清除。
你再装的话,无论如何也不成功,服务启动不起来绝对是这个问题。不相信你可以运行命令services.msc,或者直接在我的电脑or计算机右键进入服务,你可以看到常规一栏里可执行文件的路径绝对不是你这次安装的路径,是你第一次安装的文件路径。
你可以去尝试用sc命令,但是我测试不大成功,于是干脆直接修改注册表。
通过regedit进入注册表,我们首先找到HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\services,然后找到我们要安装的程序的名字,比如我的就是MongoDB,右边有个ImagePath,点开修改即可。
如果还不能启动,请确认你是否改对了,因为我的粗心,改了前面,后面忘了改。
错误100与48
一般上当运行net start mongodb时它可能会报出100或48的错误,这个时候去你的mongodb文件夹下找之前的日志文件,mongodb.log,在里面你会看到你的错误原因,我在这里列出常见的几个错误:
1.端口被占用 这时候可以更改在开启时设置的port,或者找到占用端口的服务将它关闭
2.可能没有设置dbpath和logpath:这时服务会出现开启成功状态到开启失败状态的不断重复
3.也许由于上次的不正常关闭mongodb导致mongodb被锁,找到data\db\mongodb.lock文件将它删除(如果删除失败,可以Ctrl+A/t+Delete,打开控制窗口关闭删除文件时提示的,正在运行的服务器)。