CentOS 7下MongoDB 3.6 的安装及基本操作

一、MongoDB简介

  1. MongoDB是一款跨平台、面向文档的数据库,可以实现高性能,高可用性,并且能够轻松扩展。MongoDB 是由C++语言编写的,是一个基于分布式文件存储的开源数据库系统。
    在高负载的情况下,添加更多的节点,可以保证服务器性能。MongoDB可以为Web应用提供可扩展的高性能数据存储解决方案。

  2. MongoDB是非关系数据库当中功能最丰富,最像关系数据库的。不采用关系模型主要是为了获得更好的扩展性,MongoDB不再有“行”的概念,其运行方式主要基于两个概念:集合(collection)和文档(document)。
  3. MongoDB 旨在为WEB应用提供可扩展的高性能数据存储解决方案。
  4. MongoDB 将数据存储为一个文档,数据结构由键值(key=>value)对组成。MongoDB 文档类似于 JSON 对象。字段值可以包含其他文档,数组及文档数组。

MongoDB主要特点

  1. MongoDB安装简单,提供了面向文档存储的功能,操作起来比较简单和容易。
  2. MongoDB提供了复制、高可用性和自动分片功能。如果负载增加,它可以分布在计算机网络中的其他节点,这就是所谓的分片。
  3. Mongo支持丰富的查询表达式。查询指令使用JSON形式的标记,可轻易查询文档中内嵌的对象及数组。
  4. MongoDB支持各种编程语言:Ruby、Python、Java、C++、PHP、C#等多种语言。

    二、MongoDB 3.6的安装

    实验步骤

    (1)部署 yum源仓库

    
    vim /etc/yum.repos.d/mongod-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.asc

### (2)Yum安装

yum install mongodb-org -y

### (3).编辑MongoDB配置文件并启动其服务

vim /etc/mongod.conf
bindIp: 0.0.0.0 #监听地址
port: 27017 #监听端口

systemctl start mongod.service #开启服务
netstat -anpt | grep 27017 #检查是否启动

### (4)连接并访问MongoDB

/usr/bin/mongo

db.version() #查看版本
3.6.6
show dbs; #查看数据库
admin 0.000GB
config 0.000GB
local 0.000GB


----------
## 三、MongoDB 3.6的基本操作

1.开启多实例

(1)复制一份配置文件给第二个实例

cp -p /etc/mongod.conf /etc/mongod2.conf
## 复制一份配置文件给第二个实例

(2)编辑第二个实例配置文件和启动参数

vim /etc/mongod2.conf  ##配置实例
   path: /data/mongodb/mongod2.log  ##日志文件位置
   dbPath: /data/mongodb/mongo    ##数据位置
   port: 27018      ##不同实例的端口不同
mkdir -p  /data/mongodb/  ##创建数据文件夹
cd /data/mongodb/
mkdir mongo
touch mongod2.log     ##创建日志文件
chmod 777 mongod2.log    ##给予日志文件权限 

(3)启动第二个实例

mongod -f /etc/mongod2.conf   ##开启第二份实例
mongo --port 27018     ##进入数据库

2.基本操作

## 创建数据库 ,不存在会创建,不建立集合又会删除
> use mydb;
switched to db mydb

 ##创建集合
> db.createCollection(‘a‘)
{ "ok" : 1 }

 ## 在集合中插入数据
> db.a.insert({"id":1,"name":"zhangsan"})
WriteResult({ "nInserted" : 1 })

## 查看集合中的数据
> db.a.find()
{ "_id" : ObjectId("5b4c54bc8a4352592ecc288f"), "id" : 1, "name" : "zhangsan" }

##查找指定记录并赋予别名a,查看属性类型
> b=db.a.findOne({"id":1})
{
    "_id" : ObjectId("5b4c54bc8a4352592ecc288f"),
    "id" : 1,
    "name" : "zhangsan"
}
> typeof(b.id)
number   

##更改数据
> db.a.update({"id":1},{$set:{"name":"tom"}})
WriteResult({ "nMatched" : 1, "nUpserted" : 0, "nModified" : 1 })
> db.a.find()
{ "_id" : ObjectId("5b4c54bc8a4352592ecc288f"), "id" : 1, "name" : "tom" }

##查看集合
> show collections
a

##删除集合
> db.a.drop()
true

##删除数据库
> db.dropDatabase()
{ "dropped" : "mydb", "ok" : 1 }

##复制数据库
> db.copyDatabase("mydb","mydb1")
{ "ok" : 1 }
> show dbs;
admin   0.000GB
config  0.000GB
local   0.000GB
mydb    0.000GB
mydb1   0.000GB

3.导入导出数据

  • mongoexport命令可以把一个collection导出成JSON格式或CSV格式的文件,可以通过参数指定导出的数据项,也可以根据指定的条件导出数据。
  • mongoimport命令可以把一个特定格式文件中的内容导入到指定的collection中。该工具可以导入SON格式或CSV格式的文件。

(1)创建100个数据

> use kgc;
switched to db kgc
> for(var i=1;i<=100;i++)db.users.insert({"id":i,"name":"jack"+i})
WriteResult({ "nInserted" : 1 })
> db.users.count()
100

(2)进行导入与导出操作

#导出操作
[[email protected] ~]# mongoexport -d kgc -c users -o /opt/users.json
2018-07-16T16:36:30.395+0800    connected to: localhost
2018-07-16T16:36:30.407+0800    exported 100 records

#查看导出的文件
[[email protected] ~]# head -n 3 /opt/users.json
{"_id":{"$oid":"5b4c589f43705395b9afe284"},"id":1.0,"name":"jack1"}
{"_id":{"$oid":"5b4c589f43705395b9afe285"},"id":2.0,"name":"jack2"}
{"_id":{"$oid":"5b4c589f43705395b9afe286"},"id":3.0,"name":"jack3"}```
#导入操作
[email protected] ~]# mongoimport -d kgc -c user1 --file /opt/users.json
2018-07-16T16:38:13.615+0800    connected to: localhost
2018-07-16T16:38:13.635+0800    imported 100 documents

#查看导入的数据集合
> use kgc;
switched to db kgc
> show collections
user1
users
> exit
bye
#条件导出操作
[[email protected] ~]# mongoexport -d kgc -c user1 -q ‘{"id":{"$eq":10}}‘ -o /opt/top10.json
2018-07-16T16:40:28.912+0800    connected to: localhost
2018-07-16T16:40:28.915+0800    exported 1 record
  • -d:指明数据库的名字
  • -c:指明collection的名字
  • -f :指明要导出那些列
  • -o:指明要导出的文件名
  • -q:指明导出数据的过滤条件

4.备份与恢复

(1)备份

在MongoDB中可以使用 mongodump 命令来备份数据,该命令可以导出所有数据到指定目录中。

[[email protected] ~]# mkdir /opt/backup #创建备份文件夹
[[email protected] ~]# mongodump -d kgc -o /opt/backup/
2018-07-16T16:44:47.254+0800    writing kgc.user1 to
2018-07-16T16:44:47.254+0800    writing kgc.users to
2018-07-16T16:44:47.256+0800    done dumping kgc.user1 (100 documents)
2018-07-16T16:44:47.256+0800    done dumping kgc.users (100 documents)

(2)恢复

MongoDB使用mongorestore命令来恢复备份的数据

mongorestore -d kgc2 --dir=/backup/kgc  ##恢复

5. 克隆集合

在MongoDB中可以将数据库中的集合进行克隆。这里将kgc数据库中的user1集合克隆到另外一个实例。

(1)先查看MongoDB开启的实例

[[email protected] ~]# netstat -ntap | grep mongod
tcp        0      0 0.0.0.0:27017           0.0.0.0:*               LISTEN      1121/mongod
tcp        0      0 0.0.0.0:27018           0.0.0.0:*               LISTEN      10145/mongod  

(2)进入第二个实例27018端口

[[email protected] ~]# mongo --port 27018    ##进入另一个实例
> db.runCommand({"cloneCollection":"kgc.user1","from":"192.168.113.175:27017"})
{ "ok" : 1 }
> show dbs
admin   0.000GB
config  0.000GB
kgc     0.000GB
local   0.000GB
> use kgc
switched to db kgc
> show collections   #查看27018端口实例的集合
user1
## 完成克隆

7.进程管理

管理员可以对MongoDB进程进行管理和控制。
查看当前正在运行的进程的命令为:db.currentOp()。
终止正在运行的高消耗资源的进程管理的进程命令为:db.killOp(opid)。

原文地址:http://blog.51cto.com/11134648/2145032

时间: 2024-07-29 18:32:26

CentOS 7下MongoDB 3.6 的安装及基本操作的相关文章

CentOs下Mongodb的下载与安装

1.下载MongoDB(64位) http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-2.4.9.tgz tar zxvf mongodb-linux-x86_64-2.4.9.tgz cd mongodb-linux-x86_64-2.4.9 2.不用编译,本身就是编译后的二进制可执行文件. bsondump   (导出bson结构) mongo(客户端,相当于mysql.exe) mongod(服务端,相当于mysqld.exe) mon

window下MongoDB的配置与安装

前言 MongoDB 是一个基于分布式文件存储的数据库.由C++语言编写,支持Windows,Linux,OSX,Solaris等平台,默认端口为27017,是一个效率非常高的nosql数据库. 我的测试环境:window10  64位 我的安装路径:D:\mongodb 我学习mongodb的笔记本:MongoDB 配置mongodb我也遇到了两个关键性的问题,记录这篇博客希望搭建mongodb的同行者,可以顺利完成配置. 安装 下载地址:http://www.mongodb.org/down

Mac下MongoDB enterprise版的安装

1. 访问mongodb下载中心,https://www.mongodb.com/download-center#enterprise,选择OS X x64系统,点击下载,可能会出一个页面让你填写联系信息之类 2. 下载好后是一个mongodb-osx-x86_64-enterprise-3.6.2.tgz的压缩文件,将其解压缩,并把解压后的文件夹放在~/目录下 3. 打开terminal,输入命令将MongoDB的shell添加到PATH变量中 export PATH="/Users/Shim

CentOS 7下Hadoop2.6伪分布模式安装

1.Hadoop核心配置文件: # gedit core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> </configuration> # gedit hdfs-site.xml <configuration> <

centos 7 上Hive-2.1.1的安装与基本操作

首先安装mysql 1.       在线安装mysql a)        yum install mysql b)        yum install mysql-devel c)        安装mariadb     yum install mariadb-server mariadb d)       systemctl enable mariadb  #设置开机启动 e)        systemctl start mariadb   #开启服务 f)         mysq

CentOS的下安装MongoDB

Mongodb是一种nosql类型的数据库,高性能.易部署.易使用的特点在IT行业非常流行. 下面介绍一下mongodb的安装方式,这里我们是在linux下安装,使用的是centos6.4 64位的,可以在官网上下载对应的安装包,官网是https://www.mongodb.org/,也可以在我的网盘上下载,提供了64位和32位的安装包,还有一个mongoVUE,可视化mongodb管理工具,网盘地址是:http://pan.baidu.com/s/1c0ocQFu.windows下安装可以参考

Linux下mongodb安装

1>设置mongoDB目录 ? cd /home/apps 附:centOS下创建目录命令 mkdir /home/apps ? 2>下载mongodb ? curl -O http://fastdl.mongodb.org/linux/mongodb-linux-x86_64-1.6.3.tgz ? 3>解压缩文件 ? tar xzf mongodb-linux-x86_64-1.6.3.tgz ? 4>启动服务 ? ./mongodb-linux-x86_64-1.6.3/bi

Centos 7.3下 Linux For SQL Server安装及配置介绍

Centos 7.3下Linux For SQL Server安装及配置介绍 说到SQL Server服务,我们大家都知道是Microsoft公司的数据库服务,当然说到数据库,现在主要分为三大商:1:Oracle.2:Msql Server.3:Mysql:三种数据库在当下环境受到不了不同程度的关注:比如oracle主要应用到大型的商业比较多,比如银行:SQL Server主要在常见的互联网公司使用:mysql主要应用于小型的企业或者服务商使用:当然从费用上来说,Oracle是最贵的,也是最为稳

Centos 7下如何安装bzip2

Centos 7下如何安装bzip2 时间:2016-02-26 01:01来源:linux.it.net.cn 作者:IT centos7 下好多软件都不带,当然也没有bzip2,于是我们只能下载 安装了,两种方法 1.yum安装,不多说 yum search bzip2  //查询安装包 yum -y install bzip2-x86_64 2.源码安装 下载bzip2   下载地址:http://www.bzip.org/downloads.html 1>格式是*.tar.gz  解压文