mongodb2.2.1安装
MongoDB(名字来源于humongous)是一个可扩展的,高性能的,开源的NoSQL数据库,使用C++实现。主要有以下特性:
- 面向文档的存储
- 完成的索引支持
- 复制和高可用性
- 自动分片
- Fast In-Place Updates
- Map/Reduce
- GridFS
以下是安装方法
ubuntu桌面版安装
下载mongodb包:http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.2.1.tgz,下载64-bit包。
复制到/usr/lib,解压:tar -xzf mongodb-linux-x86_64-2.2.1.tgz,改名为mongodb
启动mongodb服务:/usr/lib/mongodb/bin/mongod --dbpath /data/db --logpath /data/log/mongodb/mongodb.log --logappend &
--dbpath:指定mongo的数据库文件在哪个文件夹
--logpath:指定mongo的log日志是哪个,这里log一定要指定到具体的文件名
--logappend:表示log的写入是采用附加的方式,默认的是覆盖之前的文件
&:表示程序在后台运行
如果是系统非正常关闭,这样启动会报错,由于mongodb自动被锁上了,这时需要进入mongodb数据库文件所在的目录( /data/db),删除目录中的mongodb.lock文件,然后再进行上述操作。
服务启动后,连接到数据库:/usr/lib/mongodb/bin/mongo
要想mongodb随系统自动启动,则在/etc/rc.local文件中加入/usr/lib/mongodb/bin/mongod --dbpath /data/db --logpath /data/log/mongodb/mongodb.log --logappend &
ubuntu服务器版安装
10gen仓库中有三种包:
- mongodb-10gen
- mongodb20-10gen
- mongodb18-10gen
这个包包含了稳定的版本V1.8分支。
你不能同时安装这些包,10gen还提供了“不稳定”的,或开发版本的MongoDB的包。使用测试版本测试新功能,但生存环境不建议用。
安装
配置APT(Package Management System)
Ubuntu包管理工具通过要求包的分发者提供GPG密匙来保证安装包的一致性和真实性。使用如下命令来导入10gen public GPG Key:
sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
创建/etc/apt/sources.list.d/10gen.list文件并且加入下行代码
deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen
重新加载你的软件包仓库
sudo apt-get update
使用如下命令来安装最新稳定的MongoDB版本:
sudo apt-get install mongodb-10gen
配置MongoDB
使用/etc/mongodb.conf文件结合控制脚本来配置MongoDB,你可以在/etc/init.d/mongodb文件中找到控制脚本。
这个MongoDB实例在/var/lib/mongodb中保存它的数据库文件,在/var/log/mongodb中保存它的日志文件,并且使用MongoDB用户运行mongodb服务。
注意:如果你改变了运行MongoDB进程的用户,你需要更改/var/lib/mongodb和/var/lib/mongodb目录的访问权限。
使用MongoDB
启动MongoDB
你可以使用如下命令启动mongod进程
sudo service mongodb start
你可以查看/var/long/mongodb/mongodb.log文件中的内容来确定mongod是否成功启动。
停止MongoDB
如果需要,你可以使用如下命令停止mongod进程
sudo service mongodb stop
重新启动MongoDB
使用如下命令重新启mongod进程
sudo service mongodb restart
在当前的版本中,还没有控制mongos的脚本。mongos仅用于分片部署,通常不会与mongod运行在同一个系统中。
在MongoDB的包中包含的工具,是mongo shell,你可以在系统提示符下使用如下命令连接到你的MongoDB实例。
mongo
默认将连接到localhost接口上的数据库,在mongo提示符中,使用如下命令向“test”数据库的“test”集合中插入一条数据。
> db.test.save( { a: 1 } ) > db.test.find()