恭祝大家元旦快乐!
简述: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
#创建存储目录
- mkdir -p /elain/data/mongodb/db/
- chown -R mongodb.mongodb /elain/data/mongodb/db/
#启动运行
- nohup mongod --dbpath /elain/data/mongodb/db &
#开机自启动
- echo "mongod --dbpath /elain/data/db" >>/etc/rc.local
#以服务方式启动mongodb,要求验证
- /elain/apps/mongodb/bin/mongod --fork --port 27001 --auth --dbpath /elain/data/mongodb/db/ --logpath /elain/logs/mongodb/mongodb.log
#注:参数中用到的目录需创建
#停止
- 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操作。
转载请注明: 转载自http://www.elain.org
本文链接地址:MongoDB实战系列之一:MongoDB安装部署
本文转自 elain2012 51CTO博客,原文链接:http://blog.51cto.com/elain/755841