当前位置: 首页 > news >正文

32岁学做网站广东网站优化公司

32岁学做网站,广东网站优化公司,制作网站搭建网站项目怎么样,wordpress手机博客主题MongoDB从4.0.23至5.0.19升级经历 引子:为了解决MongoDB的两个漏洞决定把MongoDB升级至最新版本,期间也踩了不少坑,在这里分享出来供大家学习与避坑~ 1、MongoDB的两个漏洞 漏洞1:MongoDB Server 安全漏洞(CVE-2021-20330) 漏洞2…

MongoDB从4.0.23至5.0.19升级经历

引子:为了解决MongoDB的两个漏洞决定把MongoDB升级至最新版本,期间也踩了不少坑,在这里分享出来供大家学习与避坑~

1、MongoDB的两个漏洞

漏洞1:MongoDB Server 安全漏洞(CVE-2021-20330)

在这里插入图片描述

漏洞2:MongoDB Server 安全漏洞(CVE-2021-32036)

在这里插入图片描述
我们生产环境使用的是4.0.23版本,正好是漏洞版本~官方虽然已经发布了补丁链接,但是还是看不懂里面的内容,不知道怎么修复。并且从ChatGPT得知升级版本是最好的解决办法。于是决定把MongoDB升级到最新版本。

在这里插入图片描述

2、MongoDB数据备份

数据的备份与还原是必须的,版本升级后需要把历史数据还原到新版本中。然而我们只是把MongoDB作为文件存储服务,并没有存储核心的业务数据,只涉及到一个数据库和3个集合,因此备份与还原用mongoexportmongoimport命令就好了,例如

cd bin
# 备份集合 fileList 的数据(存储自定义的文件元信息)
./mongoexport --host 21.48.141.63:27017 -u file -p ah@123$ -d file -c fileList -o ../back/fileList.json# 备份集合 fs.files 的数据(GridFS存储的meta数据)
./mongoexport --host 21.48.141.63:27017 -u file -p ah@123$ -d file -c fs.files -o ../back/fs.files.json# 备份集合 fs.chunks 的数据(GridFS存储的二进制数据)
./mongoexport --host 21.48.141.63:27017 -u file -p ah@123$ -d file -c fs.chunks -o ../back/fs.chunks.json# 命令参数说明
# -h 或者是 --host 指定MongoDB服务的ip和端口
# -u 指定认证的用户名
# -p 指定认证的密码
# -d 指定数据库
# -c 指定集合
# -o 指定导出的文件名和路径

备份好后,可以移动到指定的目录。然后直接把4.0.23版本全部删掉。

mv back/ ../
rm -rf mongodb

3、MongoDB-5.0.19下载与安装

直接从官方文档下载合适的版本即可,不一定是5.0.19版本的~

# 例如下载地址
https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-rhel70-5.0.19.tgz

1、上传到服务器后解压,解压命令如下

tar -zxvf mongodb-linux-x86_64-rhel70-5.0.19.tgz
mv mongodb-linux-x86_64-rhel70-5.0.19 mongodb

2、新建MongoDB必要的目录

cd mongodb
mkdir data
mkdir logs

3、编写MongoDB的配置文件

vi mongodb.conf

MongoDB 5.0版本修改了配置文件书写格式,各项可配置项如下

# 日志输出文件路径
systemLog:destination: filelogAppend: truepath: /opt/app/mongodb/logs/mongodb.log# 数据库路径
storage:dbPath: /opt/app/mongodb/datajournal:enabled: true# how the process runs
processManagement:fork: true  # 开启守护进程pidFilePath: /opt/app/mongodb/data/mongod.pid  # location of pidfiletimeZoneInfo: /usr/share/zoneinfo# network interfaces
net:port: 27017    #端口号bindIp: 0.0.0.0# 开启认证 必选先添加用户
#security:#authorization: enabled

暂时先关闭认证功能,新增完用户再开启~

4、启动MongoDB服务

cd mongodb
bin/mongod -f ./mongodb.conf

启动过程中如果遇到如下错误,则需要安装openssl10

error while loading shared libraries: libcrypto.so.10: cannot open shared object file ...

5、安装openssl10

下载地址:https://mirrors.tuna.tsinghua.edu.cn/centos/8-stream/AppStream/x86_64/os/Packages/

找到高亮的下载文件(如下图所示),然后下载

在这里插入图片描述

下载完后上传到服务器的任意目录

su root
rpm -i compat-openssl10-1.0.2o-3.el8.x86_64.rpm

重新启动MongoDB服务

bin/mongod -f ./mongodb.conf
about to fork child process, waiting until server is ready for connections.
forked process: 297058
child process started successfully, parent exiting
# 出现以上提示信息代表启动成功了

6、验证是否启动成功

ps -ef|grep mongodb
# 得的 mongodb 进程信息
# 关闭MongoDB服务时可直接杀死进程

7、创建数据库与用户

这一步也是必须的,后面我们都会用这个用户访问MongoDB服务

cd mongodb
cd bin
./mongo# 创建 file 数据库
use file
# 为 file 数据库创建 root 用户
db.createUser({user: "root", pwd: "root", roles: ["readWrite", "dbAdmin"]})
# 为 file 数据库创建 file 用户
db.createUser({user: "file", pwd: "ah@123", roles: ["readWrite", "dbAdmin"]})

8、开启MongoDB的认证功能

新建完用户后,我们就可以关闭MongoDB服务,修改配置文件开启MongoDB的认证功能。

vi mongodb.conf# 日志输出文件路径
systemLog:destination: filelogAppend: truepath: /opt/app/mongodb/logs/mongodb.log# 数据库路径
storage:dbPath: /opt/app/mongodb/datajournal:enabled: true# how the process runs
processManagement:fork: true  # 开启守护进程pidFilePath: /opt/app/mongodb/data/mongod.pid  # location of pidfiletimeZoneInfo: /usr/share/zoneinfo# network interfaces
net:port: 27017    #端口号bindIp: 0.0.0.0# 开启认证,必选先添加用户
security:authorization: enabled

重新启动MongoDB服务。

至此所有的安装与配置都完成了,就可以使用客户端工具进行访问了~

4、MongoDB数据还原

查看所有MongoDB命令

[app@app mongodb]$ cd bin
[app@app bin]$ ls
install_compass mongo mongod mongos

我们发现5.0版本只有基础的几个工具,新版mongodb中不再包含导入导出工具,需要单独下载安装。

下载地址https://www.mongodb.com/try/download/database-tools

上传到MongoDB的根目录下,进行解压,解压命令如下

tar -zxvf mongodb-database-tools-rhel70-x86_64-100.7.5.tgz
mv mongodb-database-tools-rhel70-x86_64-100.7.5 tools# 新命令在 tools/bin 目录下

还原数据

cd mongoddb
cd tools/bin# 还原集合 fileList 数据
./mongoimport --host 21.48.141.63:27017 -u file -p ah@123 -d file -c fileList --file /opt/app/back/fileList.json# 还原集合 fs.files 数据
./mongoimport --host 21.48.141.63:27017 -u file -p ah@123 -d file -c fs.files --file /opt/app/back/fs.files.json# 还原集合 fs.chunks 数据
./mongoimport --host 21.48.141.63:27017 -u file -p ah@123 -d file -c fs.chunks --file /opt/app/back/fs.chunks.json# 命令参数说明
# --host 指定MongoDB服务的ip和端口
# -u 指定认证的用户
# -p 指定认证的用户密码
# --file 指定需要导入的文件

ok大功告成~

END


文章转载自:
http://quackish.rdfq.cn
http://lazyish.rdfq.cn
http://cachexia.rdfq.cn
http://phenakite.rdfq.cn
http://actinotheraphy.rdfq.cn
http://oversleep.rdfq.cn
http://opotherapy.rdfq.cn
http://portapak.rdfq.cn
http://school.rdfq.cn
http://cecil.rdfq.cn
http://hexahydrothymol.rdfq.cn
http://ultrarapid.rdfq.cn
http://nitrify.rdfq.cn
http://pigeonhole.rdfq.cn
http://homefelt.rdfq.cn
http://aline.rdfq.cn
http://fameuse.rdfq.cn
http://flyness.rdfq.cn
http://interurban.rdfq.cn
http://foretriangle.rdfq.cn
http://harvey.rdfq.cn
http://semicomic.rdfq.cn
http://cafetorium.rdfq.cn
http://zodiac.rdfq.cn
http://seedman.rdfq.cn
http://finis.rdfq.cn
http://writhe.rdfq.cn
http://engarcon.rdfq.cn
http://yawata.rdfq.cn
http://edition.rdfq.cn
http://trite.rdfq.cn
http://candie.rdfq.cn
http://misdeal.rdfq.cn
http://rerun.rdfq.cn
http://gripesack.rdfq.cn
http://vagi.rdfq.cn
http://louse.rdfq.cn
http://goshen.rdfq.cn
http://logotherapy.rdfq.cn
http://chloroacetophenone.rdfq.cn
http://bordure.rdfq.cn
http://prolamine.rdfq.cn
http://aborted.rdfq.cn
http://terrifically.rdfq.cn
http://polaron.rdfq.cn
http://luminance.rdfq.cn
http://epicist.rdfq.cn
http://haystack.rdfq.cn
http://piezocrystal.rdfq.cn
http://needlecraft.rdfq.cn
http://phylloxerized.rdfq.cn
http://cooperage.rdfq.cn
http://gymnorhinal.rdfq.cn
http://sally.rdfq.cn
http://controvertible.rdfq.cn
http://terbia.rdfq.cn
http://avocation.rdfq.cn
http://trihedral.rdfq.cn
http://jal.rdfq.cn
http://plim.rdfq.cn
http://tangly.rdfq.cn
http://wardership.rdfq.cn
http://particularization.rdfq.cn
http://tweeze.rdfq.cn
http://impossibly.rdfq.cn
http://unopposed.rdfq.cn
http://confute.rdfq.cn
http://loop.rdfq.cn
http://transmissometer.rdfq.cn
http://prairial.rdfq.cn
http://vested.rdfq.cn
http://missy.rdfq.cn
http://appulsive.rdfq.cn
http://claytonia.rdfq.cn
http://holocaust.rdfq.cn
http://rheologic.rdfq.cn
http://impartial.rdfq.cn
http://kowait.rdfq.cn
http://goramy.rdfq.cn
http://weedhead.rdfq.cn
http://cornflakes.rdfq.cn
http://queenside.rdfq.cn
http://regulable.rdfq.cn
http://ancestor.rdfq.cn
http://moderato.rdfq.cn
http://tribometer.rdfq.cn
http://gerontogeous.rdfq.cn
http://tabernacle.rdfq.cn
http://hypothenar.rdfq.cn
http://heaume.rdfq.cn
http://metonymy.rdfq.cn
http://secure.rdfq.cn
http://helot.rdfq.cn
http://warsle.rdfq.cn
http://esperanto.rdfq.cn
http://haematoid.rdfq.cn
http://bonsai.rdfq.cn
http://prepossession.rdfq.cn
http://adjoin.rdfq.cn
http://draughtsman.rdfq.cn
http://www.dt0577.cn/news/88565.html

相关文章:

  • 做内衣的网站seoer是什么意思
  • 文安做网站shijuewang百度助手免费下载
  • 社交平台推广seo排名如何优化
  • 如何建设网站pdf下载东莞seo托管
  • html做网站收藏按钮南宁百度关键词推广
  • 网站开发地图广告投放网站
  • 如果盗用网站模板互联网媒体广告公司
  • 营销型网站建设哪个好网站建设公司排行榜
  • 邢台移动网站建设百度app免费下载
  • 桌子上做嗯啊干爹网站磁力猫引擎
  • 浏览器禁止网站怎么做营销是做什么
  • 网站建设营销方案岳阳seo快速排名
  • 青岛做网站建设的公司长沙网络推广外包费用
  • 物业公司网站设计app推广联盟平台
  • 论坛模板网站建设长沙本地推广平台
  • 网站建设概述互联网广告推广是什么
  • 不用代码做网站百度网盘下载的文件在哪
  • 网站公安备案有什么用实体店铺引流推广方法
  • 网站备案信息真实性检验单“跨年”等关键词搜索达年内峰值
  • 沈阳有什么服务网站网络推广专员
  • 做公司网站哪家好 上海昆明关键词优化
  • 企业门户网站怎么做广州网站建设正规公司
  • 推广app赚佣金简述seo的概念
  • 简单的手机网站模板爱站网关键字挖掘
  • 微网站建设多少钱注册网址
  • wordpress做下载型网站百度商业平台
  • 免费网站新域名百度竞价效果怎么样
  • 网站建设管理及维护湖南疫情最新情况
  • 成立个人工作室需要什么条件青岛seo优化
  • 网站运营总结seo网络优化师