Chinaunix首页 | 论坛 | 博客
  • 博客访问: 5760306
  • 博文数量: 291
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 7924
  • 用 户 组: 普通用户
  • 注册时间: 2016-07-06 14:28
个人简介

阿里巴巴是个快乐的青年

文章分类

全部博文(291)

文章存档

2018年(21)

2017年(4)

2016年(5)

2015年(17)

2014年(68)

2013年(174)

2012年(2)

分类: NOSQL

2013-04-23 19:19:15

一、简介
        MongoDB是用C++实现的开源文档型数据库,其介于关系数据库与非关系数据库之间,是非关系数据库中功能最丰富,最像关系数据库的,其特征概括起来如下:
        (1)面向文档存储(类似于JSON的BSON)
        (2)支持全文索引
        (3)支持复制和高可用
        (4)支持自动分片(水平扩展)
        (5)支持Map/Reduce
        (6)支持丰富的查询
        默认端口号是
27017,其数据存储在文件中,默认路径为/data/db,为提高效率使用内存映射文件进行管理。
        关键点:
                (1)MongoDB中三元素是数据库、集合、文档,其分别对应于关系数据库中的数据库、表、行。
                (2)最好安装64位的MongoDB,因为32位支持的最大文件尺寸为2G,而64位则无此限制。
                (3)防火墙或者SELinux要放行27017端口。
        更新多信息可以参看
        MongoDB支持很多种操作系统,本系列文章以64位CentOS和MongoDB 2.4.2为例

二、安装
1、配置YUM
        创建一个文件(/etc/yum.repos.d/10gen.repo)用于保持repository信息,该文件中具体配置信息如下:
        #vi /etc/yum.repos.d/10gen.repo
        [10gen]
        name=10gen Repository
        baseurl=
        gpgcheck=0
        enabled=1

2、安装包
        以root或sudo执行如下命令来安装最新的稳定版本和相关工具:
        #yum install mongo-10gen mongo-10gen-server
        执行完上面命令后,就成功安装好MongoDB了,NB
        mongo-10gen-server包括mongod和mongos守护进程以及相关配置和初始化脚本。
        mongo-10gen包括所有MongoDB工具

3、版本选择

        步骤2中默认会安装最新的稳定版本,如果需要选择指定Release版本,可以执行如下命令:
        #yum install mongo-10gen-2.2.3 mongo-10gen-server-2.2.3
        需要注意的是:用上面方式能安装指定版本,但是如果yum发现有新的稳定版本,它会更新mongo-10gen和mongo-10gen-server,用如下方式能阻止其狗拿耗子的“毛病”:
        编辑/etc/yum.conf,添加如下语句即可:
        #vi /etc/yum.conf
        exclude=mongo-10gen, mongo-10gen-server
        
三、配置
        上面步骤中的安装包用/etc/mongod.conf文件结合来配置MongoDB。初始脚本在这里/etc/rc.d/init.d/mongod。
        MongoDB实例存储数据文件在/var/lib/mongo目录下,日志文件在/var/log/mongo目录下,并用mongod用户账号来运行它。
        需要注意的是:如果你改变运行MongoDB进程的用户,你需要修改用户对/var/lib/mongo和/var/log/mongo目录的访问控制权限。

四、控制
1、启动
        以root或者sudo执行以下命令来启动mongod进程:
        #service mongod start        
        可以通过日志文件/var/log/mongo/mongod.log的内容来确认mongod进程是否成功启动。
        以root用户权限执行如下命令来确保MongoDB在系统重启时随机启动:
        #chkconfig mongod on
2、停止
        以root或者sudo执行以下命令来停止mongod进程:
        #service mongod stop
3、重启
        以root或者sudo执行以下命令来重启mongod进程:
        #service mongod restart
        通过/var/log/mongo/mongod.log文件来观察进程状态,观察从服务器来的错误和重要信息。
4、mongos
        mongos没有控制脚本,其仅仅用于分片部署,并且通常不与mongod运行在同一机器上。你可以参考mongodb脚本来生成自己的mongos控制脚本。
        
五、使用
        mongo-10gen包中包括了mongo这个工具,它是mongo shell。你能通过执行如下命令来连接到MongoDB实例:
        #mongo
        MongoDB shell version: 2.4.2
        connecting to: test
        Welcome to the MongoDB shell.
        For interactive help, type "help".
        For more comprehensive documentation, see
       
        Questions? Try the support group
       
        这其实是MongoDB一个控制台客户端。
        缺省情况下,连接到localhost,在mongo提示符下,执行以下命令来插入记录到test库的test集合中,然后返回文档:
        > db.test.save({a:1})
        > db.test.find()
        { "_id" : ObjectId("51766dd916fd17c43aa2204c"), "a" : 1 }
        

阅读(4907) | 评论(1) | 转发(1) |
给主人留下些什么吧!~~

scq2099yt2013-04-24 17:21:43

文明上网,理性发言...