简述:MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。

环境:CentOS 5.5 x64
安装:

cd /root/tools
wget http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.0.0.tgz
tar zxvf mongodb-linux-x86_64-2.0.0.tgz
mv mongodb-linux-x86_64-2.0.0 /elain/apps/mongodb-linux-x86_64-2.0.0
ln -s /elain/apps/mongodb-linux-x86_64-2.0.0 /elain/apps/mongodb
ln -s /elain/apps/mongodb/bin/* /bin/

#添加用户组 

/usr/sbin/groupadd -g 690 mongodb
/usr/sbin/useradd -g mongodb mongodb -u 690 -s /sbin/nologin

#创建存储目录

  1. mkdir -p /elain/data/mongodb/db/
  2. chown -R mongodb.mongodb /elain/data/mongodb/db/

#启动运行

  1. nohup mongod --dbpath /elain/data/mongodb/db &

#开机自启动

  1. echo "mongod --dbpath /elain/data/db" >>/etc/rc.local

#以服务方式启动mongodb,要求验证

  1. /elain/apps/mongodb/bin/mongod --fork --port 27001 --auth --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log

#注:参数中用到的目录需创建

#停止

  1. kill -2 `ps -ef|grep mongod|grep -v grep|awk '{print $2}'`

#验证启动

[root@md01 ~]# netstat -ln
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State
tcp 0 0 0.0.0.0:28001 0.0.0.0:* LISTEN
tcp 0 0 0.0.0.0:27001 0.0.0.0:* LISTEN

还可以通过访问:http://ip:28001/  浏览

#登录:

mongo --host serverip:27001

[root@md01 ~]# mongo --host localhost:27001
MongoDB shell version: 2.0.0
connecting to: localhost:27001/test
>

#测试

[root@md02 mongodb]# mongo
MongoDB shell version: 1.8.3
connecting to: test
Thu Sep 8 22:16:13 [initandlisten] connection accepted from 127.0.0.1:43643 #2
> db.foo.save( { a : 1 } )
> db.foo.find()
{ "_id" : ObjectId("4e68ce01f4be44b5812e7f9a"), "a" : 1 }

附录一:
mongodb的bin下各工具的用途:

mongod:数据库服务端,类似mysqld,每个实例启动一个进程,可以fork为Daemon运行
mongo:客户端命令行工具,类似sqlplus/mysql,其实也是一个js解释器,支持js语法
mongodump/mongorestore:将数据导入为bson格式的文件/将bson文件恢复为数据库,类似xtracbackup
mongoexport/mongoimport:将collection导出为json/csv格式数据/将数据导入数据库,类似mysqldump/mysqlimport
bsondump:将bson格式的文件转储为json格式的数据
mongos:分片路由,如果使用了sharding功能,则应用程序连接的是mongos而不是mongod
mongofiles:GridFS管理工具
mongostat:实时监控工具

附录二:
mongod的主要参数有:

dbpath: 数据文件存放路径,每个数据库会在其中创建一个子目录。
logpath:错误日志文件
logappend: 错误日志采用追加模式(默认是覆写模式)
bind_ip: 对外服务的绑定ip,一般设置为空,及绑定在本机所有可用ip上,如有需要可以单独指定
port: 对外服务端口。Web管理端口在这个port的基础上+1000
fork: 以后台Daemon形式运行服务
journal:开启日志功能,通过保存操作日志来降低单机故障的恢复时间,在1.8版本后正式加入,取代在1.7.5版本中的dur参数。
syncdelay: 执行sync的间隔,单位为秒。
directoryperdb: 每个db存放在单独的目录中,建议设置该参数。
maxConns: 最大连接数
repairpath: 执行repair时的临时目录。在如果没有开启journal,异常宕机后重启,必须执行repair操作。