简述:MongoDB是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
环境:CentOS 5.5 x64
安装:
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 /useradd -g mongodb mongodb -u 690 -s /sbin /nologin
#创建存储目录
chown -R mongodb.mongodb /elain /data /mongodb /db /
#启动运行
#开机自启动
#以服务方式启动mongodb,要求验证
#注:参数中用到的目录需创建
#停止
#验证启动
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/ 浏览
#登录:
MongoDB shell version: 2.0.0
connecting to: localhost: 27001 / test
>
#测试
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操作。