博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
MongoDB 3.0(1):CentOS7 安装MongoDB 3.0服务
阅读量:6515 次
发布时间:2019-06-24

本文共 5488 字,大约阅读时间需要 18 分钟。

本文原文连接: 转载请注明出处!

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安装方式。

参考:
pdf 手册:

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

[mongodb-org-3.0]name=MongoDB Repositorybaseurl=http://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.0/x86_64/gpgcheck=0enabled=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

参考:

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

# mongoMongoDB shell version: 3.0.2connecting to: testWelcome 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-userServer 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 4096KB2015-04-29T18:03:17.544+0800 I STORAGE  [initandlisten] **          We suggest setting it to 256KB (512 sectors) or less2015-04-29T18:03:17.544+0800 I STORAGE  [initandlisten] **          http://dochub.mongodb.org/core/readahead2015-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,创建数据:

> 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,更新数据:

> 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,删除:

> db.users.remove({_id:3})WriteResult({ "nRemoved" : 1 })> db.users.remove({_id:4})WriteResult({ "nRemoved" : 0 })

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

2.4,查询:

> 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,更多方法

3,MongoDB可视化工具

使用可视化工具,方便使用MongoDB管理。

首先要修改下端口和ip
vi /etc/mongod.conf

port=27017dbpath=/var/lib/mongo# location of pidfilepidfilepath=/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连接:

连接成功之后效果:

4,总结

本文原文连接: 转载请注明出处!

MongoDB 3.0操作起来还是很方便的。能高效的使用。

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

你可能感兴趣的文章
3.4Python数据处理篇之Numpy系列(四)---ndarray 数组的运算
查看>>
openLayers地图缩放的回调
查看>>
Java中的String类的学习
查看>>
机器学习——贝叶斯分类算法详解
查看>>
rockchip的RK3399硬解码总结
查看>>
9.修改列表(3-4,3-5)
查看>>
2018.03.28
查看>>
最短路径
查看>>
(五)Spring Boot之@RestController注解和ConfigurationProperties配置多个属性
查看>>
Linux 小知识翻译 - 「Unix」和「兼容Unix的OS」
查看>>
软件开发过程学习笔记(二)之软件需求模板 分类: 开发过程 ...
查看>>
Xamarin.Android 集成百度地图SDK
查看>>
sqrt函数的实现
查看>>
HDU 3308 LCIS
查看>>
HDU 1176 免费馅饼
查看>>
HDU 4044 GeoDefense
查看>>
构造器能否被重写能否被重载能否被继承
查看>>
python tkinter 制作管理系统GUI程序
查看>>
javascript 日期的前多少天和后多少天
查看>>
GetClassInfo函数解析
查看>>