CentOS7 安装MongoDB 3.0服务器

1,下载&安装

     MongoDB 3.0 正式版本发布!这标志着 MongoDB数据库进入了一个全新的发展阶段,提供强大、灵活而且易于管理的数据库管理系统。MongoDB宣称,3.0新版本不只提升710倍的写入效率以及增加80%的数据压缩率,还能减少95%的运维成本。 
MongoDB 3.0主要新特性包括: 

·可插入式的存储引擎 API 

·支持 WiredTiger存储引擎 

·MMAPv1 提升 

·复制集全面提升 

·集群方面的改进 

·提升了安全性 

·工具的提升 
WiredTiger

      WiredTiger存储引擎是一项难以置信的技术实现,提供无门闩、非堵塞算法来利用先进的硬件平台(如大容量芯片缓存和线程化架构)来提升性能。通过 WiredTigerMongoDB 3.0实现了文档级别的并发控制,因此大幅提升了大并发下的写负载。

      MongoDB提供了centos yum安装方式。 
      参考:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-red-hat/ 
      pdf
手册: 
     http://docs.mongodb.org/manual/MongoDB-manual.pdf

1.添加源:

      #vi /etc/yum.repos.d/mongodb-org-3.0.repo

[mongodb-org-3.0]

name=MongoDBRepository

baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/

gpgcheck=0

enabled=1

2.安装mongodb

    #yum install -y mongodb-org

安装了所有相关服务。

......

Runningtransaction

  Installing : mongodb-org-shell-3.0.2-1.el7.x86_64     1/5

  Installing : mongodb-org-tools-3.0.2-1.el7.x86_64     2/5

  Installing : mongodb-org-mongos-3.0.2-1.el7.x86_64    3/5

  Installing : mongodb-org-server-3.0.2-1.el7.x86_64    4/5

  Installing : mongodb-org-3.0.2-1.el7.x86_64           5/5

  Verifying : mongodb-org-3.0.2-1.el7.x86_64          1/5

  Verifying : mongodb-org-server-3.0.2-1.el7.x86_64   2/5

  Verifying : mongodb-org-mongos-3.0.2-1.el7.x86_64   3/5

  Verifying : mongodb-org-tools-3.0.2-1.el7.x86_64    4/5

  Verifying : mongodb-org-shell-3.0.2-1.el7.x86_64    5/5

配置文件在:/etc/mongod.conf 

数据文件在:/var/lib/mongo 

日志文件在:/var/log/mongodb  

3.mongodb服务使用

#启动

#service mongod start

#停止

#service mongod stop

#重启

#service mongod restart

#增加开机启动

#chkconfig mongod on

2MongoDB CRUD

     参考: http://docs.mongodb.org/manual/core/crud-introduction/

    连接到MongoDB,很简单,执行mongo就可以了。

    #mongo

MongoDBshellversion:3.0.2

connectingto: test

Welcometo the MongoDBshell.

Forinteractive help, type"help".

Formore comprehensive documentation, see

        http://docs.mongodb.org/

Questions?Try the support group

        http://groups.google.com/group/mongodb-user

Serverhas startup warnings:

2015-04-29T18:03:17.544+0800 I STORAGE  [initandlisten]

2015-04-29T18:03:17.544+0800 I STORAGE  [initandlisten] ** WARNING: Readahead for /var/lib/mongo issetto4096KB

2015-04-29T18:03:17.544+0800 I STORAGE  [initandlisten] **          We suggest setting itto256KB (512 sectors) or less

2015-04-29T18:03:17.544+0800 I STORAGE  [initandlisten] **          http://dochub.mongodb.org/core/readahead

2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten]

2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten] ** WARNING:/sys/kernel/mm/transparent_hugepage/enabled is'always'.

2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten] **        We suggest setting itto'never'

2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten]

2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten] ** WARNING:/sys/kernel/mm/transparent_hugepage/defrag is'always'.

2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten] **        We suggest setting itto'never'

2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten]

2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits toolow. rlimits setto4096 processes,64000files. Number of processes should beat least32000 : 0.5 timesnumber offiles.

2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten]

>

2.1,创建数据:

http://docs.mongodb.org/manual/tutorial/insert-documents/ http://docs.mongodb.org/manual/reference/method/db.collection.insert/

>db.users.insert(

... {

... name:"zhang san",

... age:26,

... city:"bei jing"

... }

... )

WriteResult({"nInserted" :1 })

>db.users.insert(

... {

... _id:1,

... name:"zhang san",

... age:26,

... city:"bei jing"

... }

... )

WriteResult({"nInserted" :1 })

>db.users.insert(

... {

... _id:1,

... name:"zhang san",

... age:26,

... city:"bei jing"

... }

... )

WriteResult({

        "nInserted" :0,

        "writeError" : {

               "code" :11000,

               "errmsg" :"E11000 duplicate key error index:test.users.$_id_ dup key: { : 1.0 }"

        }

})

>db.users.insert(

... {

... _id:2,

... name:"li si",

... age:28,

... city:"shang hai"

... }

... )

WriteResult({"nInserted" :1 })

        数据可以没有主键_id,如果没有,会自动生成一个。如果设置了_id主键,就必须不重复。 否则报主键冲突:“E11000 duplicate key error index: test.users.$_id_ dup key: { : 1.0 }”

2.2,更新数据:

http://docs.mongodb.org/manual/tutorial/modify-documents/

>db.users.update(

... {_id:2},

... {

... $set: {

... city:"guang zhou"

... }

... }

... )

WriteResult({"nMatched" :1,"nUpserted" :0,"nModified" :1 })

>db.users.update(

... {_id:3},

... {

... $set: {

... city:"si chuan"

... }

... },

... { upsert: true }

... )

WriteResult({"nMatched" :0,"nUpserted" :1,"nModified" :0,"_id" :3 })

更新使用update,如果增加{ upsert: true },则表示没有查询到数据直接插入。

2.3,删除:

http://docs.mongodb.org/manual/tutorial/remove-documents/

>db.users.remove({_id:3})

WriteResult({"nRemoved" :1 })

>db.users.remove({_id:4})

WriteResult({"nRemoved" :0 })

查询到数据才进行删除,并且返回删除数量。

2.4,查询:

http://docs.mongodb.org/manual/tutorial/query-documents/

>db.users.find({age:{ $gt:26}})

{ "_id" :2,"name" :"lisi","age" : 28,"city" :"guangzhou" }

>db.users.find({age:{ $gt:25}})

{ "_id" : ObjectId("5540adf29b0f52a6786de216"),"name" : "zhang san","age" : 26,"city" :"beijing" }

{ "_id" :1,"name" :"zhangsan","age" :26, "city" :"beijing" }

{ "_id" :2,"name" :"lisi","age" : 28,"city" :"guangzhou" }

#查询全部数据

>db.users.find()

{ "_id" : ObjectId("5540adf29b0f52a6786de216"),"name" : "zhang san","age" : 26,"city" :"beijing" }

{ "_id" :1,"name" :"zhangsan","age" :26, "city" :"beijing" }

{ "_id" :2,"name" :"lisi","age" : 28,"city" :"guangzhou" }

2.5,更多方法

db.collection.aggregate()  db.collection.count() db.collection.copyTo()  db.collection.createIndex() db.collection.getIndexStats()  db.collection.indexStats() db.collection.dataSize()  db.collection.distinct()  db.collection.drop() db.collection.dropIndex()  db.collection.dropIndexes() db.collection.ensureIndex()  db.collection.explain() db.collection.find()  db.collection.findAndModify() db.collection.findOne()  db.collection.getIndexes() db.collection.getShardDistribution()  db.collection.getShardVersion() db.collection.group()  db.collection.insert() db.collection.isCapped()  db.collection.mapReduce() db.collection.reIndex()  db.collection.remove() db.collection.renameCollection()  db.collection.save() db.collection.stats()  db.collection.storageSize() db.collection.totalSize()  db.collection.totalIndexSize() db.collection.update()  db.collection.validate()

3MongoDB可视化工具

http://www.robomongo.org/  

使用可视化工具,方便使用MongoDB管理。 首先要修改下端口和ip  

#vi  /etc/mongod.conf

port=27017

dbpath=/var/lib/mongo

#location of pidfile

pidfilepath=/var/run/mongodb/mongod.pid

#Listen to localinterface only. Commentoutto listenon all interfaces.

bind_ip=192.168.1.36

然后重启MongoDB

  #service  mongod restart

  接下来就可以创建一个mongodb连接:   连接成功之后效果:  

4,总结

   本文原文连接: http://blog.csdn.net/freewebsys/article/details/45368809 转载请注明出处!

    MongoDB 3.0操作起来还是很方便的。能高效的使用。 同时MongoDB扩展也很方便。接下来研究。 对应互联网业务来说没有复杂的join查询。只追求高效,快速访问。

 


评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值