linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作


提示:写完文章后,目录可以自动生成,如何生成可参考右边的帮助文档

目录

一、mongodb介绍

二、操作步骤

yum安装mongodb

创建库,合集,插入文档,增删改查操作

 查询文档数据

 更新文档数据

删除文档数据,合集,库

备份以及恢复数据库

创建管理用户和普通用户



提示:以下是本篇文章正文内容,下面案例可供参考

一、mongodb介绍

mongodb是一个nosql数据库,它有高性能、无模式、文档型的特点。是nosql数据库中功能最丰富,最像关系数据库的。数据库格式为BSON

应用场景:游戏 物流 社交 物联网 视频直播 大数据

二、操作步骤

yum安装mongodb

在/etc/yum.repos.d/下创建mongodb-org.repo

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

 写入

[mongodb-org] name=MongoDB Repository baseurl=https://repo.mongodb.org/yum/redhat/$releasever/mongodb-org/4.4/x86_64/ gpgcheck=1

enabled=1

gpgkey=https://www.mongodb.org/static/pgp/server-4.4.asc

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第1张图片

yum clean #清空yum缓存

yum list #展开yum列表

yum make cache #建立缓存

 安装mongodb

 yum -y insyall mongodb-org

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第2张图片

 启动mongodb

 systemctl start mongod

 登录mongodb

 mingo

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第3张图片

由于mongodb不用主动创建,使用use 库,会自动创建不存在的数据库,只有在库中创建文档后才会保存,所以我们直接 use jx(库名)

创建库,合集,插入文档,增删改查操作

 在jx库中创建“ban”合集

 db.createCollection("ban")

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第4张图片  

 在“ban”合集中创建文档

db.ban.insertMany([{name:"zhang",age:20},{name:"li",age:30}])

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第5张图片

  再查看库,jx库已经存在了

show dbs

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第6张图片

 再看看合集

show tables

 

 查询文档数据

 全集合查询

 db.ban.find()

 条件查询

db.ban.find({name:"zhang"}) 

 更新文档数据

 更新数据

db.ban.update({name:"zhang"},{$set:{age:"31"}})

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第7张图片

 所有满足条件的文档数据都进行更新

db.ban.updateMany({age:30},{$set:{age:22}})

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第8张图片

 更新文档进行数值递增

 db.ban.update({name:"wu"},{$inc: {age:1}})

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第9张图片

删除文档数据,合集,库

条件删除文档数据

db.ban.remove({name:"wu"})

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第10张图片

 全文删除文档数据

db.ban.remove({})

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第11张图片

 删除合集

db.ban.drop()

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第12张图片

 这边可以看到库里没有数据后,jx库就查不到了

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第13张图片

 删除库,必须先进入库这里就不演示了,下面是执行语句

usr jx

db.dropdatabase()

备份以及恢复数据库

 现在我们库结构如下图

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第14张图片

 mongodump备份与 mongorestore恢复

 mongodump备份

mongodump -h127.0.0.1 -djx -o/backup/dump/

 可以看到生成了bson数据文件和json元数据文件(元数据描述了数据库和集合的结构和状态,包括集合的索引、存储引擎、文档数量、大小等等。)

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第15张图片

 mongorestore恢复

现在我们删除ban1合集,再恢复

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第16张图片

mongoresore -h127.0.0.1 -djx  -cban1 -o/backup/jx/ban1.bson

 可以看到ban1已经恢复了

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第17张图片

 --drop 当目标数据库中存在同名集合则删除再恢复

 我们在ban1中插入一条数据再恢复

 mongorestore -h127.0.0.1 djx -cban1 --drop/backup/jx/ban1.bson

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第18张图片

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第19张图片

mongoexport备份与mongoimport恢复

mongoexport备份 

mongoevport -h127.0.0.1 -djx  -cban1 -o /backup/export/jx_ban1.json 

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第20张图片

 mongoimport恢复

我们现在删除ban1,再恢复

db.ban1.drop 

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第21张图片

恢复 

 mongoimport -h127.0.0.1 -djx -cban1 /backup/export/jx_ban1.json

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第22张图片 mongodump和mongoexport区别

 

功能 mongodump mongoexport
导出文件格式 BSON 格式 JSON、CSV 或 TSV
导出的数据 所有数据库或指定的数据库 单个集合或指定的查询结果
数据筛选 通过参数筛选可选 可以通过查询作为筛选条件
导出位置 存储在指定的目录中 写入到指定文件中
数据转换 提供一些选项用于数据转换 提供 JSON 的格式化输出选项
数据大小 大多数情况下,只适用于小型和中型数据集 适用于小型、中型和大型数据集,但需要注意性能问题

mongodump 和 mongoexport 是不同的工具,它们各有不同的用途。在备份 MongoDB 数据时,mongodump 是更合适的选择,而当需要将 MongoDB 数据导出到其他数据格式或进行分析时,mongoexport 更合适。

创建管理用户和普通用户

 创建管理用户 ,由于mongo的管理用户是内置角色,所以我们必须创一个内置角色的用户

  1. read:允许用户查找和读取特定数据库中所有或部分数据。

  2. readWrite:允许用户查找、读取以及插入、更新和删除特定数据库中的所有或部分数据。

  3. dbAdmin:允许用户管理特定数据库的资源,包括集合和索引。但无法查看或修改数据。

  4. userAdmin:允许用户创建、修改和删除该数据库中的其他用户。

  5. dbOwner:允许用户对特定数据库进行所有操作,包括读、写、修改数据库配置等。

  6. clusterAdmin:允许用户管理整个 MongoDB 集群,包括启动、停止节点、重新配置复制集和分片群集、管理备份和还原等。

  7. backup:允许用户备份特定 MongoDB 实例的数据。

  8. restore:允许用户还原特定 MongoDB 实例的数据。

  9. root:拥有对 MongoDB 实例进行管理操作的所有权限。此角色只应该给 MongoDB 系统管理员使用。

 这边创建一个root超级管理员用户

use admin

db.createUser(

{

user: "root",

pwd: "123.com",

roles: [ { role: "root", db: "admin" } ]

}

)

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第23张图片

  MongoDB 的身份验证默认是关闭的,可以通过修改 mongod 的配置文件实现登录时密码验证

在etc/mongod。conf的security区域加上 然后重启服务

  authorization: enabled

 systemctl resatrt mongod

现在在直接登录就不行了linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第24张图片

 root登录

mongo admin -uroot -p 

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第25张图片

创建普通用户

创建一个只有对jx库有所有权限的用户

use jx

db.createUser(

{

user: "jxuser",

pwd: "123.com",

roles: [ { role: "dbOwner", db: "jx" } ]

}

)

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第26张图片 登录

mongo jx -ujxuser -p

 可以看到只能看到jx库

linux CentOS7 使用yum安装mongodb4.4数据库,以及mongodb数据库中新建用户,增删改查,和备份恢复操作_第27张图片 

你可能感兴趣的:(centos,mysql,linux,mongodb,数据库)