设为首页 收藏本站
查看: 2225|回复: 0

[经验分享] CentOS7 安装MongoDB 3.0服务器

[复制链接]

尚未签到

发表于 2017-12-15 12:45:45 | 显示全部楼层 |阅读模式
1,下载&安装
  MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大、灵活而且易于管理的数据库管理系统。MongoDB宣称,3.0新版本不只提升7到10倍的写入效率以及增加80%的数据压缩率,还能减少95%的运维成本。
  MongoDB 3.0主要新特性包括:
  ·可插入式的存储引擎 API
  ·支持 WiredTiger 存储引擎
  ·MMAPv1 提升
  ·复制集全面提升
  ·集群方面的改进
  ·提升了安全性
  ·工具的提升
  WiredTiger 存储引擎是一项难以置信的技术实现,提供无门闩、非堵塞算法来利用先进的硬件平台(如大容量芯片缓存和线程化架构)来提升性能。通过 WiredTiger,MongoDB 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
  vi /etc/yum.repos.d/mongodb-org-3.0.repo
  

[mongodb-org-3.0]  
name=MongoDB Repository
  
baseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/
  
gpgcheck=0
  
enabled=1
  

  安装mongodb
  

yum install -y mongodb-org  

  安装了所有相关服务。
  

......  
Running transaction
  
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  mongodb服务使用
  

#启动  
service mongod start
  
#停止
  
service mongod stop
  
#重启
  
service mongod restart
  
#增加开机启动
  
chkconfig mongod on
  

2,MongoDB CRUD
  参考:  http://docs.mongodb.org/manual/core/crud-introduction/
  连接到MongoDB,很简单,执行mongo就可以了。
  

# mongo  
MongoDB shell version: 3.0.2
  
connecting to: test
  
Welcome to the MongoDB shell.
  
For interactive help, type "help".
  
For more comprehensive documentation, see
  
http://docs.mongodb.org/
  
Questions? Try the support group
  
http://groups.google.com/group/mongodb-user
  
Server has 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 is set to 4096KB
  
2015-04-29T18:03:17.544+0800 I STORAGE  [initandlisten] **          We suggest setting it to 256KB (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 it to '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 it to 'never'
  
2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten]
  
2015-04-29T18:03:17.679+0800 I CONTROL  [initandlisten] ** WARNING: soft rlimits too low. rlimits set to 4096 processes, 64000 files. Number of processes should be at least 32000 : 0.5 times number of files.
  
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" : "li si", "age" : 28, "city" : "guang zhou" }
  
> db.users.find({age:{ $gt: 25}})
  
{ "_id" : ObjectId("5540adf29b0f52a6786de216"), "name" : "zhang san", "age" : 26, "city" : "bei jing" }
  
{ "_id" : 1, "name" : "zhang san", "age" : 26, "city" : "bei jing" }
  
{ "_id" : 2, "name" : "li si", "age" : 28, "city" : "guang zhou" }
  
#查询全部数据
  
> db.users.find()
  
{ "_id" : ObjectId("5540adf29b0f52a6786de216"), "name" : "zhang san", "age" : 26, "city" : "bei jing" }
  
{ "_id" : 1, "name" : "zhang san", "age" : 26, "city" : "bei jing" }
  
{ "_id" : 2, "name" : "li si", "age" : 28, "city" : "guang zhou" }
  

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()

3,MongoDB可视化工具
  http://www.robomongo.org/   DSC0000.jpg
  使用可视化工具,方便使用MongoDB管理。  首先要修改下端口和ip  vi /etc/mongod.conf
  

port=27017  

  
dbpath=/var/lib/mongo
  

  
# location of pidfile
  
pidfilepath=/var/run/mongodb/mongod.pid
  

  
# Listen to local interface only. Comment out to listen on all interfaces.
  
bind_ip=192.168.1.36
  

  然后重启MongoDB
  

service mongod restart  

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

4,总结
  本文原文连接: http://blog.csdn.net/freewebsys/article/details/45368809 转载请注明出处!
  MongoDB 3.0操作起来还是很方便的。能高效的使用。  同时MongoDB扩展也很方便。接下来研究。  对应互联网业务来说没有复杂的join查询。只追求高效,快速访问。

运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-424345-1-1.html 上篇帖子: [Node.js]连接mongodb 下篇帖子: Mongodb安装启动详解
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表