大数据技术 MongoDB 3.6 安装、单机多实例和基本操作
沉沙 2018-10-10 来源 : 阅读 2093 评论 0

摘要:本篇教程探讨了大数据技术 MongoDB 3.6 安装、单机多实例和基本操作,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

本篇教程探讨了大数据技术 MongoDB 3.6 安装、单机多实例和基本操作,希望阅读本篇文章以后大家有所收获,帮助大家对大数据技术的理解更加深入。

<

MongDB 简介
MongoDB 是一个基于分布式文件存储的数据库。由C++语言编写。旨在为WEB应用提供可扩展的高性能数据存储解决方案。
MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似json的bson格式,因此可以存储比较复杂的数据类型。Mongo最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据库单表查询的绝大部分功能,而且还支持对数据建立索引。
MongoDB 特点

高性能、易部署、易使用,存储数据非常方便。

面向集合存储,易存储对象类型的数据。


模式自由。


支持动态查询。


支持完全索引,包含内部对象。


支持查询。


支持复制和故障恢复。


使用高效的二进制数据存储,包括大型对象(如视频等)。


自动处理碎片,以支持云计算层次的扩展性。


支持RUBY,PYTHON,JAVA,C++,PHP,C#等多种语言。


文件存储格式为BSON(一种JSON的扩展)。

可通过网络访问。
本案环境 :
操作系统 : CentOS 7.3 x86_64
安装MongoDB :
1.配置YUM源仓库 :

vim /etc/yum.repos.d/mongodb-org.repo

[mongodb-org]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/3.6/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://www.mongodb.org/static/pgp/server-3.6.as
2.安装 MongoDB :
yum  install -y mongodb-org
systemctl start mongod.service     #开启服务

systemctl start mongod.service     #开启服务
[root@localhost ~]# mongo          #进入数据库
MongoDB shell version v3.6.6
connecting to: mongodb://127.0.0.1:27017
MongoDB server version: 3.6.6

配置 MongoDB 单机多实例
1. 复制 MongoDB 配置文件 :
cp -p /etc/mongod.conf /etc/mongod2.conf
vim /etc/mongodb2.conf
systemLog:
  destination: file
  logAppend: true
  path: /data/logs/mongod2.log      #日志文件位置
.....
storage:
  dbPath: /data/mongodb/mongodb2    #数据文件位置
  journal:
......
net:
  port: 27018                      #修改端口号
  bindIp: 127.0.0.1 
mkdir -p /data/mongodb/mongodb2   #创建数据文件位置

mkdir -p /data/logs/              #创建日志文件位置

touch /data/logs/mongodb2.log     #创建日志文件

chmod -R 777 /data/logs/mongodb2.log  #添加日志文件的权限
[root@localhost ~]# mongod -f /etc/mongod2.conf     #开启实例
about to fork child process, waiting until server is ready for connections.
forked process: 23824
child process started successfully, parent exiting
[root@localhost ~]# mongo --port 27018    #进入实例
MongoDB shell version v3.6.6
connecting to: mongodb://127.0.0.1:27018/
MongoDB server version: 3.6.6
[root@localhost ~]# mongod -f /etc/mongod2.conf --shutdown   #关闭实例
killing process with pid: 23824
MongoDB 基本操作



操作
描述




show dbs
查看当前实例下的数据库列表


show users
显示用户


use 
切换当前数据库


db.help()
显示数据库操作命令


show collections
显示当前数据库集合


db.foo.help()
显示集合操作命令,foo 是当前数据库下的集合


db.foo.find()
对当前数据库中foo集合进行数据查找





创建和删除数据库



格式 : use DATABASE_NAME       #切换数据库如果有切换,没有创建

mongos> use abc
switched to db abc

格式 : db.dropDatabase()      #删除数据库

mongos> use abc
switched to db abc
mongos> db.dropDatabase()
{ "info" : "database does not exist", "ok" : 1 }


插入数据、删除数据和修改数据


mongos> db.test.insert({"id":1,"name":"zhangsan"})     #在test集合插入数据  没有test集合默认会自动创建
WriteResult({ "nInserted" : 1 })
mongos> db.test.insert({"id":2,"name":"lisi"})
WriteResult({ "nInserted" : 1 })
mongos> db.test.find()                             #查看集合内容
{ "_id" : ObjectId("5b4eb95659122739e2695613"), "id" : 1, "name" : "zhangsan" }
{ "_id" : ObjectId("5b4eb96759122739e2695614"), "id" : 2, "name" : "lisi" }
mongos> db.test.remove({"id":1})        #删除test集合中的id为1的数据
WriteResult({ "nRemoved" : 1 })
mongos> db.test.find()
{ "_id" : ObjectId("5b4eb96759122739e2695614"), "id" : 2, "name" : "lisi" }
mongos> db.test.update({"id":2},{$set:{"name":"wangwu"}})    #修改数据
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
mongos> db.test.find()
{ "_id" : ObjectId("5b4eb96759122739e2695614"), "id" : 2, "name" : "wangwu" }



数据的导入导出


[root@localhost bin]# ./mongoexport -d abc -c test -o /opt/test.json  #导出文件格式为json
2018-07-18T12:07:50.297+0800    connected to: localhost
2018-07-18T12:07:50.299+0800    exported 2 records 
[root@localhost bin]# ./mongoimport -d abc -c test --file test.json    #导入数据库
2018-07-18T12:09:09.880+0800    Failed: open test.json: no such file or directory
2018-07-18T12:09:09.881+0800    imported 0 documents

参数说明

-d :指明数据库的名字
-c :指明集合的名字
-o :指明要导出的文件名
   

本文由职坐标整理发布,学习更多的大数据技术相关知识,请关注职坐标大技术云计算大技术技术频道!

本文由 @沉沙 发布于职坐标。未经许可,禁止转载。
喜欢 | 0 不喜欢 | 0
看完这篇文章有何感觉?已经有0人表态,0%的人喜欢 快给朋友分享吧~
评论(0)
后参与评论

您输入的评论内容中包含违禁敏感词

我知道了

助您圆梦职场 匹配合适岗位
验证码手机号,获得海同独家IT培训资料
选择就业方向:
人工智能物联网
大数据开发/分析
人工智能Python
Java全栈开发
WEB前端+H5

请输入正确的手机号码

请输入正确的验证码

获取验证码

您今天的短信下发次数太多了,明天再试试吧!

提交

我们会在第一时间安排职业规划师联系您!

您也可以联系我们的职业规划师咨询:

小职老师的微信号:z_zhizuobiao
小职老师的微信号:z_zhizuobiao

版权所有 职坐标-一站式AI+学习就业服务平台 沪ICP备13042190号-4
上海海同信息科技有限公司 Copyright ©2015 www.zhizuobiao.com,All Rights Reserved.
 沪公网安备 31011502005948号    

©2015 www.zhizuobiao.com All Rights Reserved