MongoDB实战系列之一:MongoDB安装部署

jopen 12年前

简述: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操作。