CentOS7 安装MongoDB 3.0服务器

简介: 1,下载&安装 MongoDB 3.0 正式版本发布!这标志着 MongoDB 数据库进入了一个全新的发展阶段,提供强大、灵活而且易于管理的数据库管理系统。MongoDB宣称,3.0新版本不只提升7到10倍的写入效率以及增加80%的数据压缩率,还能减少95%的运维成本。

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/  

使用可视化工具,方便使用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连接:    连接成功之后效果:  

4,总结

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

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

相关文章
|
6月前
|
存储 Ubuntu Linux
VMware-安装CentOS系统教程及安装包
虚拟机相当于是一个独立于你电脑的环境,在这个环境上面,你可以安装Linux、Windows、Ubuntu等各个类型各个版本的系统,在这个系统里面你不用担心有病读等,不用担心文件误删导致系统崩溃。 虚拟机也和正常的电脑系统是一样的,也可以开关机,不用的时候,你关机就可以了,也不会占用你的系统资源,使用起来还是比较方便 这里也有已经做好的CentOS 7系统,下载下来解压后直接用VMware打开就可以使用
1245 69
|
5月前
|
存储 分布式计算 Linux
安装篇--CentOS 7 虚拟机安装
VMware 装 CentOS 7 不知道从哪下手?这篇超详细图文教程手把手教你在 VMware Workstation 中完成 CentOS 7 桌面系统的完整安装流程。从 ISO 镜像下载、虚拟机配置,到安装图形界面、设置用户密码,每一步都有截图讲解,适合零基础新手快速上手。装好之后无论你是要搭 Hadoop 集群,还是练 Linux ,这个环境都够你折腾一整天!
2245 3
|
6月前
|
Ubuntu Linux 索引
Centos 7、Debian及Ubuntu系统中安装和验证tree命令的指南。
通过上述步骤,我们可以在CentOS 7、Debian和Ubuntu系统中安装并验证 `tree`命令。在命令行界面中执行安装命令,然后通过版本检查确认安装成功。这保证了在多个平台上 `tree`命令的一致性和可用性,使得用户无论在哪种Linux发行版上都能使用此工具浏览目录结构。
567 78
|
7月前
|
Linux 网络安全 Apache
针对在Centos/Linux安装Apache过程中出现的常见问题集锦
以上每个问题的解决方案应深入分析错误日志、系统消息和各种配置文件,以找到根本原因并加以解决。务必保持系统和Apache软件包更新到最新版本,以修复已知的bugs和安全漏洞。安装和管理Web服务器是一项需要细致关注和不断学习的任务。随着技术的发展,推荐定期查看官方文档和社区论坛,以保持知识的更新。
319 80
|
5月前
|
安全 关系型数据库 MySQL
CentOS 7 yum 安装 MySQL教程
在CentOS 7上安装MySQL 8,其实流程很清晰。首先通过官方Yum仓库来安装服务,然后启动并设为开机自启。最重要的环节是首次安全设置:需要先从日志里找到临时密码来登录,再修改成你自己的密码,并为远程连接创建用户和授权。最后,也别忘了在服务器防火墙上放行3306端口,这样远程才能连上。
1172 16
|
6月前
|
存储 关系型数据库 MySQL
在CentOS 8.x上安装Percona Xtrabackup工具备份MySQL数据步骤。
以上就是在CentOS8.x上通过Perconaxtabbackup工具对Mysql进行高效率、高可靠性、无锁定影响地实现在线快速全量及增加式数据库资料保存与恢复流程。通过以上流程可以有效地将Mysql相关资料按需求完成定期或不定期地保存与灾难恢复需求。
537 10
|
7月前
|
安全 Linux Shell
使用SCP命令在CentOS 7上向目标服务器传输文件
以上步骤是在CentOS 7系统上使用SCP命令进行文件传输的基础,操作简洁,易于理解。务必在执行命令前确认好各项参数,尤其是目录路径和文件名,以避免不必要的传输错误。
763 17
|
7月前
|
人工智能 数据挖掘 Linux
Centos安装Python3.7(亲测可用)
本指南详细介绍了在基于Linux(以CentOS系统为例,使用yum包管理器)的系统上安装Python 3.7版本的完整流程。Python是一种广泛使用的高级编程语言,在各种领域如软件开发、数据分析、人工智能和区块链开发等都有着重要的应用。
683 2
|
6月前
|
运维 网络协议 Linux
CentOS下Bind服务的安装与故障排查
通过以上的步骤,您应该能够在CentOS系统上安装并配置BIND DNS服务,并进行基本的故障排查。
582 0
|
6月前
|
Ubuntu 安全 小程序
服务器版本的CentOS和Ubuntu哪个更适合你?
但是以上的比较并不说明Ubuntu是不稳定的或者是不安全的,只是以上比较过程中,在稳定性方面Ubuntu稍微逊色了一点。由于Ubuntu在个人桌面电脑的使用率远远高于CentOS,用Ubuntu搭建服务器,如果遇到什么问题,寻找解决方案相对比较容易,这让Ubuntu在选择方面更优于CentOS。如果你是一个初学者,那么毫无疑问Ubuntu是更适合的选择。如果你正在经营自己的公司,在这两者之间,CentOS会更好一些。