从小白到大神之路之学习运维第39天---第三阶段---MongoDB非关系型数据库(概述、安装、设置管理员、简单操作、配置文件说明,备份和还原)

news2024/11/17 9:49:44

第三阶段基础

时  间:2023年6月13日

参加人:全班人员

内  容:

目录

MongoDB概述

端口号:TCP/27017

配置文件:/etc/mongod.conf

MongoDb安装部署

MongoDB设置密码

MongoDB操作命令与说明

配置文件说明

备份操作

1. 热备份

2. 冷备份

还原操作:


MongoDB概述

MongoDB是一个非关系型数据库管理系统,它使用文档模型存储数据。MongoDB中的文档类似于JSON对象,可以包含键值对和嵌套文档。

MongoDB提供了强大的查询语言、聚合框架、索引和直接在数据存储中运行的计算。

MongoDB被广泛应用于许多领域,特别是Web应用程序和大数据领域。它具有高度可扩展性灵活性,可以处理多种数据类型。

此外,MongoDB还提供了一系列工具和库,以方便开发人员在应用程序中使用它。

MongoDB可以存储Web内容管理系统的重要数据,例如页面和文章内容、标签等,以及和用户相关的数据。

端口号:TCP/27017

配置文件:/etc/mongod.conf

MongoDb安装部署

以下是在CentOS 7上安装部署 MongoDB 的详细步骤:

1. 添加 MongoDB 的官方库。

执行以下命令添加 MongoDB 的官方仓库:

sudo vi /etc/yum.repos.d/mongodb-org-4.4.repo

在文件中添加以下内容:

[mongodb-org-4.4]

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

wq保存并退出。

2. 安装 MongoDB。

执行以下命令安装 MongoDB:

sudo yum install mongodb-org -y

3. 配置 MongoDB。

打开 MongoDB 的配置文件:

sudo vi /etc/mongod.conf

在文件中找到和修改以下内容:

- `bindIp`:绑定的 IP 地址。默认为 `127.0.0.1`,即本地访问,如果需要远程访问需要将其改为 `0.0.0.0`。

- `port`:端口号。默认为 `27017`,根据实际需要修改。

保存并退出。

4. 启动 MongoDB

执行以下命令启动 MongoDB:

sudo systemctl start mongod

5. 设置 MongoDB 为系统服务。

执行以下命令将 MongoDB 设置为系统服务:

sudo systemctl enable mongod

可以使用以下命令检查服务的状态:

sudo systemctl status mongod

6. 登录 MongoDB。

使用以下命令登录 MongoDB:

mongo

可以使用以下命令检查 MongoDB 的版本:

db.version()

如果成功安装 MongoDB,则应该输出 MongoDB 的版本号。

以上就是在 CentOS 7 上安装部署 MongoDB 的详细步骤。

MongoDB设置密码

安装完MongoDB后,默认情况下没有密码,你可以直接登录MongoDB开始使用。不过,在生产环境中,强烈建议配置MongoDB的安全性设置,例如启用身份验证等。

如果你需要设置管理员账户并为其设置密码,可以按如下步骤进行:

1. 使用mongo shell登录到MongoDB。

2. 进入admin数据库:(若没有这个数据库,也会建立这个数据库并打开)

例:use ADMIN

3. 创建管理员账户:

db.createUser({ user: "admin", pwd: "yourpassword",

roles: [ { role: "userAdminAnyDatabase",

db: "admin" } ] })

其中,“yourpassword”为你要设置的密码。

4. 退出mongo shell,重启mongod进程:

sudo systemctl stop mongod

sudo systemctl start mongod

5. 再次使用mongo shell登录到MongoDB,使用以下命令验证登录:

mongo -u admin -p yourpassword

--authenticationDatabase admin

以上是在MongoDB中创建并设置管理员账户的步骤,注意密码的安全性和复杂度。如果你没有设置管理员账户,那么默认情况下MongoDB是没有密码的。

 

MongoDB操作命令与说明

以下是MongoDB的常见命令操作及说明:

1. show dbs

显示所有数据库的列表。

2. use <dbname>

选择要使用的数据库。如果该数据库不存在,则会创建一个新数据库。

3. db.<collection>.find()

查找指定集合中的文档,例如:

例:db.Members.find( { name :"John Smith"} )

4. db.<collection>.insertOne()

在指定集合中插入一个新文档,例如:

db.users.insertOne( { name: "John", age: 30, city: "New York" } )

5. db.<collection>.updateOne()

更新指定集合中的一个文档,例如:

db.users.updateOne(

   { name: "John" },

   { $set: { city: "San Francisco" } }

)

6. db.<collection>.deleteOne()

删除指定集合中的一个文档,例如:

db.users.deleteOne( { name: "John" } )

7. db.<collection>.count()

返回指定集合中文档的数量。

8. db.<collection>.drop()

删除指定集合。

9. db.createUser()

创建一个新的数据库用户。

参考创建管理员账户

10. db.dropDatabase()

删除当前使用的数据库。

11. db.stats()

获取当前使用的数据库的状态信息。

以上是MongoDB的常见命令操作及说明,可以满足大多数日常工作所需。

配置文件说明

MongoDB的配置文件是文本文件,用于指定MongoDB运行时的配置信息。采用使用配置文件的方式启动MongoDB可以使得管理和配置MongoDB更为方便。

MongoDB的配置文件在启动时需要指定,通常可以使用`mongod --config`命令来指定。

以下是MongoDB配置文件的常用参数及其说明:

- bindIp:绑定的IP地址,默认值为`0.0.0.0`,表示可以连接所有的IP地址。可以通过指定一个特定的IP地址或者多个来限制MongoDB的访问。

- port:MongoDB监听的端口,默认端口号为27017。

- dbpath:MongoDB数据库使用的文件夹路径,默认路径为`/data/db`。

- logpath:MongoDB日志文件的路径。

- logappend:如果设置为true,则MongoDB的日志文件使用追加模式。

- quiet:如果设置为true,则MongoDB不输出任何日志信息。

- pidfilepath:MongoDB进程ID文件路径。

- maxConns:MongoDB允许连接的最大数量,默认值为`20000`。

- maxIncomingConnections:MongoDB允许同时打开的最大连接数,默认值为`65536`。

- storage:MongoDB存储引擎,默认为`wiredTiger`。

使用配置文件启动MongoDB的示例命令如下:

mongod --config /etc/mongod.conf

以上是MongoDB配置文件的常用参数及其说明。在实践中,需要根据具体的需求和硬件条件来调整参数值以实现最佳性能功效。

备份操作

MongoDB有多种备份方式,其中包括热备份和冷备份两种方式。

1. 热备份

热备份是在MongoDB处于运行状态下进行备份的一种方式。具体步骤如下:

(1)使用mongodump命令导出MongoDB的备份数据。以下命令将备份数据导出到`/data/backup`目录下:

mongodump --out /data/backup

(2)如果需要对导出的备份数据进行压缩,可以使用以下命令:

tar -czvf backup.tar.gz /data/backup

2. 冷备份

冷备份是在MongoDB处于新启动的状态下进行备份的一种方式。

具体步骤如下:

(1)使用MongoDB的`mongodump`命令导出MongoDB的备份数据。以下命令将备份数据导出到`/data/backup`目录下:

mongodump --out /data/backup

(2)停止MongoDB服务:

sudo systemctl stop mongod

(3)使用tar命令将漏斗备份数据压缩成一个文件:

tar -czvf backup.tar.gz /data/backup

(4)启动MongoDB服务:

sudo systemctl start mongod

备份是MongoDB管理的重要组成部分,定期备份MongoDB数据库是保证数据安全性的重要手段之一。对于生产系统,推荐使用自动化的备份解决方案。

还原操作:

MongoDB使用mongorestore命令将备份数据还原到MongoDB中。

以下是MongoDB备份数据还原的步骤:

(1)解压备份文件

首先,需要解压缩MongoDB备份文件。假设备份文件`backup.tar.gz`被解压到了`/data/backup`目录,使用以下命令解压备份文件:

tar -xzvf backup.tar.gz -C /data/backup

(2)停止MongoDB服务

在还原备份数据期间,需要停止MongoDB服务以避免出现意外。使用以下命令停止MongoDB服务:

sudo systemctl stop mongod

(3)使用mongorestore命令还原备份数据

使用mongorestore命令将备份数据还原到MongoDB中。以下命令将备份数据恢复到MongoDB:

mongorestore /data/backup

该命令将备份数据恢复到原来的集合和数据库中,也可以通过指定`--db`参数将备份数据恢复到一个新的数据库中。

(4)重启MongoDB服务

还原备份数据后,重启MongoDB服务:

sudo systemctl start mongod

以上是将MongoDB备份数据还原的简单步骤。在实践中,备份和还原数据时需要谨慎操作,以确保数据的完整性和安全性。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/642186.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

chatgpt赋能python:Python怎么居中对齐

Python怎么居中对齐 在Python中&#xff0c;输出对齐是一项基本功能。当我们想要打印表格或美化输出时&#xff0c;居中对齐是一个常见的要求。本文将介绍如何使用Python进行居中对齐&#xff0c;以及一些相关的技术和应用。 如何居中对齐&#xff1f; 要在Python中实现居中…

TypeScript知识汇总

一、ts简介 1、什么是ts 2、ts增加了什么 二、TypeScript开发环境搭建 注&#xff1a;如果npm i运行报错&#xff0c;需要以管理员身份运行一次&#xff0c;以上主要就是tsc xxx.ts 三、ts的基本类型——ts相当于是给js可以指定类型 //number、string、boolean等常用类型&am…

[游戏开发][Unreal]项目启动

新建项目时会有 [项目名].uproject文件&#xff0c;鼠标右键该文件点击Switch Unreal Engine version 如果你的 [项目名].uproject文件是个纯白的图标&#xff0c;证明没有关联到Unreal&#xff0c;该怎么办呢 使用搜索工具搜UnrealVersionSelector.exe 或者直接去你的UE5安装目…

在华为外包待了3年,我秃了,但没变强...

我25岁&#xff0c;中级测试&#xff0c;外包&#xff0c;薪资13.5k&#xff0c;人在上海。内卷什么的就不说了&#xff0c;而且人在外包那些高级精英年薪大几十的咱也接触不到&#xff0c;就说说外包吧。 假设以我为界限&#xff0c;25岁一线城市13.5k&#xff0c;那22-24大部…

J.A.Woollam光谱型椭偏仪电源维修M-2000XI

M-2000系列光谱椭圆仪是为满足薄膜表征的需求而设计的。RCE技术结合了旋转补偿器椭圆仪和CCD检测&#xff0c;在几分之一秒内收集整个光谱&#xff08;数百个波长&#xff09;&#xff0c;并有多种配置。擅长于从原位监测和过程控制到大面积均匀性绘图和通用薄膜表征的椭偏仪。…

mac m1(arm)安装brew(Homebrew)

安装 使用国内脚本安装 /bin/zsh -c "$(curl -fsSL https://gitee.com/cunkai/HomebrewCN/raw/master/Homebrew.sh)"安装完成后使用brew安装tcping试试 brew install tcping发现报错 Error: Cannot install in Homebrew on ARM processor in Intel default prefi…

应急指挥调度系统之指挥中心是由什么构成的

应急指挥调度系统是应急管理的重要组成部分&#xff0c;而指挥中心则是应急指挥系统的控制中枢&#xff0c;可以说是应急指挥调度系统体系中的大脑&#xff0c;应急管理中的所有应急指令都会从指挥中心发出&#xff0c;作为应急指挥系统的控制中枢&#xff0c;应急指挥调度系统…

5款国产优质软件,满足工作效率提升需求,你值得拥有

不少人对国产软件的印象&#xff0c;还停留在各种弹窗、各种捆绑&#xff0c;想要提升工作效率&#xff0c;只能使用国外的软件。今天给大家分享5款国产优质软件&#xff0c;不仅没有各种弹窗、捆绑&#xff0c;还能满足工作效率提升需求。 亿图脑图MindMaster MindMaster是一款…

聊聊如何利用服务定位器模式按需返回我们需要的服务实例

前言 什么是服务定位器模式 服务定位器是一个了解如何提供各种应用所需的服务&#xff08;或组件&#xff09;的对象。在服务定位器中&#xff0c;每个服务&#xff08;或组件&#xff09;都只有一个单独的实例&#xff0c;并通过ID 唯一地标识。 用这个 ID 就能从服务定位器中…

JVM 调优分析 如何进行JVM调优

文章目录 1.为什么需要进行JVM调优&#xff1f;2.什么情况下可能需要JVM调优3.JVM调优参数4.JVM调优参数设置参考5.JVM内部结构1. 类加载器&#xff08;Class Loader&#xff09;2. 运行时数据区&#xff08;Runtime Data Area&#xff09;3. 垃圾收集器&#xff08;Garbage Co…

css常见布局方式

css常见布局方式 0、前言1、两栏布局1.1 浮动 margin1.2 浮动 BFC&#xff08;overflow: hidden&#xff09;1.3 定位 margin-left1.4 给父容器设置flex布局&#xff0c;左盒子固定宽度&#xff0c;然后给右子元素设置 flex: 1。1.5 table布局 2、三栏布局2.1 float布局2.2 …

小红书数据分析:流量手到擒来,热点创作大解密!

年中大促618接近尾声&#xff0c;对小红书来说&#xff0c;这次的“反向”营销博得满堂彩。 为了呼吁大家不要冲动消费&#xff0c;线下举办了“反冲动俱乐部”活动&#xff0c;以“365天无理由退货”、“退货的商品可兑换成小红书现金券”等玩法在一众促销信息中呈现差异化内…

如何从Prometheus单独提取个别数据持久化到InfluxDB

背景 首先解释一个问题&#xff0c;为什么会选择让InfluxDB来持久化Prometheus的数据&#xff0c;直接存在Prometheus中不行吗&#xff1f;下面是Claude的回答&#xff0c;我来总结一下&#xff1a; 1&#xff09;InfluxDB提供了更强大的Flux查询语言&#xff0c;比如提供了复…

长鑫存储面试(部分)

你平时写代码时&#xff0c;如何保证代码可靠、可复用、可扩展、可维护&#xff1f;有总结经验吗&#xff0c;请举例说明。参考答案 by newBing&#xff1a; 编写文档&#xff1a;编写文档是保证代码可维护性的重要手段。文档应该包括代码的设计思路、实现细节、使用方法等。 遵…

NeRF系列(2):NeRF in the wild : Neural Radiance Fields for Unconstrained Photo Collections论文解读与公式推导

NeRF in the Wild: Neural Radiance Fields for Unconstrained Photo Collections 论文&#xff1a;https://openaccess.thecvf.com/content/CVPR2021/papers/Martin-Brualla_NeRF_in_the_Wild_Neural_Radiance_Fields_for_Unconstrained_Photo_CVPR_2021_paper.pdfhttps://op…

pyspark安装教程

pyspark安装教程 一、Windows下配置pyspark环境1.1 JDK下载安装1.2 Scala下载安装1.3 spark下载安装1.4 Hadoop下载安装1.5 pyspark下载安装 二、pyspark原理简介 一、Windows下配置pyspark环境 在python中使用pyspark并不是单纯的导入pyspark包就可以实现的&#xff0c;而是需…

从0到字节跳动30W年薪,我在测试行业“混”的第5个年头····

一些碎碎念 什么都做了&#xff0c;和什么都没做其实是一样的&#xff0c;走出“瞎忙活”的安乐窝&#xff0c;才是避开弯路的最佳路径。希望我的经历能帮助到有需要的朋友。 在测试行业已经混了5个年头了&#xff0c;以前经常听到开发对我说&#xff0c;天天的点点点有意思没…

使用Jmeter读取和使用Redis数据

目录 前言 缓存 Redis服务和客户端安装 Jmeter使用Redis 总结&#xff1a; 前言 消息队列和缓存是目前主流的中间件&#xff0c;我们在日常测试过程中&#xff0c;无论是接口还是压力测试&#xff0c;都会遇到需要处理这些中间件数据的情况。本文以Redis对缓存做一个简单…

精选博客系列|vSphere 8 Update 1 介绍

去年&#xff0c;我们推出了 vSphere 8&#xff0c;这是传统和下一代应用程序的企业工作负载平台&#xff0c;该产品于 2022 年 11 月正式推出。今天&#xff0c;我们很高兴地宣布 vSphere 8 Update 1 版本。通过这个版本&#xff0c;客户可以获得增强的管理员操作效率&#xf…

【QT】QGridLayout的基础使用(添加控件、布局、间距)

目录 0.环境介绍 1.QGridLayout简介&#xff1a; 2.QGridLayout参数介绍 1&#xff09;添加控件方式 2&#xff09;添加布局方式 3.例子及代码 1&#xff09;三行三列 2&#xff09;有占多行多列的控件 0.环境介绍 windows vscode qt 我使用网格布局的情景是&#x…