一、需求
MongoDB版本:2.4.3Ubuntu版本:13.04
二、说明
10gen公司提供了MongoDB的.deb包版本,使得在ubuntu下安装很简单。尽管Ubuntu也提供了MongoDB包,但是其包管理的MongoDB版本有点老,不能安装最新的版本。所以,最新的版本还是要从官网安装。10gen公司提供了mongodb-10gen包,它包含了最新的MongoDB稳定版,还提供了mongodb-clients包。
三、安装
1. 配置包管理系统Ubuntu的包管理工具(如dpkg或apt)确保了包的一致性和授权。
$ sudo apt-key adv --keyserver keyserver.ubuntu.com --recv 7F0CEB10
[sudo] password for chszs:
Executing: gpg --ignore-time-conflict --no-options --no-default-keyring --secret-keyring /tmp/tmp.TpL2Sensb5 --trustdb-name /etc/apt//trustdb.gpg --keyring /etc/apt/trusted.gpg --primary-keyring /etc/apt/trusted.gpg --keyserver keyserver.ubuntu.com --recv 7F0CEB10
gpg: 下载密钥‘7F0CEB10’,从 hkp 服务器 keyserver.ubuntu.com
gpg: 密钥 7F0CEB10:公钥“Richard Kreuter ”已导入
gpg: 没有找到任何绝对信任的密钥
gpg: 合计被处理的数量:1
gpg: 已导入:1 (RSA: 1)
创建/etc/apt/sources.list.d/10gen.list文件,包含下面的内容:
$ echo 'deb http://downloads-distro.mongodb.org/repo/ubuntu-upstart dist 10gen' | sudo tee /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就完成安装了。
四、指定版本的安装
可以使用mongodb-10gen包安装早先版本的MongoDB。要安装指定的版本,可以这样:$ apt-get install mongodb-10gen=2.2.3
要注意一点,在使用过程中,有可能你在安装其它软件时,apt-get会自动升级你的mongodb-10gen包,要阻止升级,需要用这个命令:
$ echo "mongodb-10gen hold" | dpky --set-selections
五、配置MongoDB
可以通过/etc/mongodb.conf文件来配置MongoDB。控制脚本在/etc/init.d/mongodb。MongoDB实例会把数据存储在/var/lib/mongodb数据文件,日志记录在/var/log/mongodb日志文件。
六、起停MongoDB
启动MongoDB的命令:$ sudo service mongodb start
可以通过查看日志文件/var/log/mongodb/mongodb.log来检查mongod是否成功运行。
停止MongoDB的命令:
$ sudo service mongodb stop
重启MongoDB:
$ sudo service mongodb restart
七、mongos的说明
mongos只用于MongoDB的分片部署,而且一般不会运行于mongod运行的同一系统。八、使用MongoDB
在终端上执行:$ mongo
MongoDB shell version: 2.4.3
connecting to: test
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
http://docs.mongodb.org/
Questions? Try the support group
http://groups.google.com/group/mongodb-user
> db.test.save({a:1})
> db.test.find()
{ "_id" : ObjectId("5190ac7360a98819281b5414"), "a" : 1 }
>