日期:2014-05-16  浏览次数:20533 次

Mongodb学习笔记(一)

  • 安装与配置(Linux)
下载安装文件
? ? ? ? 64位操作系统 curl http://downloads.mongodb.org/linux/mongodb-linux-x86_64-2.2.2.tgz > mongo.tgz
? ? ? ? 32位操作系统?curl http://downloads.mongodb.org/linux/mongodb-linux-i686-2.2.2.tgz > mongo.tgz
?
? ? ? 解压文件到指定的安装目录
? ? ? ? tar -zxvf mongo.tgz?
? ? ??
? ? ? ? 使用monogDB
? ? ? ? 创建一个存放数据库目录 mkdir /data/db
? ? ? ? 。使用命令行启动
? ? ? ? ? ? <mongodb_home>/bin/mongod --dbpath /data/db
? ? ? ? 。使用配置启动
? ? ? ? ? ? <mongodb_home>/bin/mongod -f /etc/mongodb.conf

? ? ? ? ?启动参数说明
? ? ? ? ? ? ??mongod的主要参数有:?
? dbpath:
数据文件存放路径,每个数据库会在其中创建一个子目录,用于防止同一个实例多次运
行的mongod.lock也保存在此目录中。
? logpath
错误日志文件
? logappend
错误日志采用追加模式(默认是覆写模式)
? bind_ip
对外服务的绑定ip,一般设置为空,及绑定在本机所有可用ip 上,如有需要可以单独
指定
? port
对外服务端口。Web管理端口在这个port的基础上+1000
? fork
以后台Daemon形式运行服务
? journal
开启日志功能,通过保存操作日志来降低单机故障的恢复时间,在1.8版本后正式加入,
取代在1.7.5版本中的dur参数。
syncdelay
系统同步刷新磁盘的时间,单位为秒,默认是60秒。
directoryperdb
每个db存放在单独的目录中,建议设置该参数。与MySQL的独立表空间类似
maxConns
最大连接数
repairpath
执行repair时的临时目录。在如果没有开启journal,异常down机后重启,必须执行repair操作。?

配置文件说明:
?[root@devdb bin]# cat /etc/mongodb.conf?
dbpath=/data/db
logpath=/data/log/r3.log
fork=true
diaglog=3
directoryperdb=true
rest=true

说明:使用命令行启动时,相关参数需要加上--,使用配置文件时,象fork这类参数需要使用fork=true形式进行设置
? ? ? ??
  • 启动、停止
root@devdb bin]# ./mongod --dbpath /data/master
Wed Dec 19 13:36:10 [initandlisten] MongoDB starting : pid=2161 port=27017 dbpath=/data/master 64-bit host=devdb.zoneland.net
Wed Dec 19 13:36:10 [initandlisten] db version v2.2.2, pdfile version 4.5
Wed Dec 19 13:36:10 [initandlisten] git version: d1b43b61a5308c4ad0679d34b262c5af9d664267
Wed Dec 19 13:36:10 [initandlisten] build info: Linux ip-10-2-29-40 2.6.21.7-2.ec2.v1.2.fc8xen #1 SMP Fri Nov 20 17:48:28 EST 2009 x86_64 BOOST_LIB_VERSION=1_49
Wed Dec 19 13:36:10 [initandlisten] options: { dbpath: "/data/master" }
Wed Dec 19 13:36:11 [initandlisten] journal dir=/data/master/journal
Wed Dec 19 13:36:11 [initandlisten] recover : no journal files present, no recovery needed
Wed Dec 19 13:36:11 [initandlisten] preallocateIsFaster=true 3.72
Wed Dec 19 13:36:11 [initandlisten] preallocateIsFaster=true 3.54
Wed Dec 19 13:36:12 [initandlisten] preallocateIsFaster=true 3.34
Wed Dec 19 13:36:12 [initandlisten] preallocating a journal file /data/master/journal/prealloc.0
Wed Dec 19 13:36:16 [initandlisten]???????????? 608174080/1073741824??? 56%
Wed Dec 19 13:36:19 [initandlisten]???????????? 692060160/1073741824??? 64%
Wed Dec 19 13:36:22 [initandlisten]???????????? 754974720/1073741824??? 70%
Wed Dec 19 13:36:25 [initandlisten]???????????? 817889280/1073741824??? 76%
Wed Dec 19 13:36:28 [initandlisten]???????????? 870318080/1073741824??? 81%
Wed Dec 19 13:36:31 [initandlisten]???????????? 933232640/1073741824??? 86%
Wed Dec 19 13:36:34 [initandlisten]???????????? 985661440/1073741824??? 91%
Wed Dec 19 13:36:37 [initandlisten]???????????? 1048576000/1073741824?? 97%
Wed Dec 19 13:37:09 [initandlisten] preallocating a jou