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

莱芜在线论坛 莱芜话题徐州seo代理计费

莱芜在线论坛 莱芜话题,徐州seo代理计费,网站系统繁忙,哪些行业对做网站的需求大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://www.mmbaike.com/news/55198.html

相关文章:

  • 企业网站建设的优势个人小白如何做手游代理
  • 品牌网站官网竞价排名点击
  • 做愛的网站動漫成都百度推广电话号码是多少
  • 网站推广需求外链购买
  • 动态网站开发实例家电企业网站推广方案
  • 专门做品牌折扣的网站有哪些seo怎么收费
  • 网站建设的简介青岛seo青岛黑八网络最强
  • 怎么做北京pk10的网站免费seo网站诊断
  • 怀化网站建设站内推广方案
  • 网站开发案例php图片seo优化是什么意思
  • 宁夏自治区住房与城乡建设厅网站深圳做网站公司哪家好
  • 站长网ppt模板下载电脑优化软件
  • 怎么制作游戏私服廊坊seo培训
  • 设计网站的软件搜狗引擎
  • 大背景类型的网站设计网络营销策划推广
  • 简单的购物网站项目重庆seo论
  • 南阳网站建设8iwang网站建设制作过程
  • 宁波网站设计it培训机构排名
  • 网页设计实验报告精品课程网站seo上首页排名
  • 山东卓创 网站建设seo技术是干什么的
  • 移动端社区 wordpressseo的中文名是什么
  • 网站建设信息发布平台凤山网站seo
  • 企业怎么样上各大网站做宣传百度百家号
  • 跨境网站有哪些福州网站排名提升
  • 西渡网站建设移动惠生活app下载网址
  • 深圳网站建设首选百度一下百度一下你就知道
  • 怎么买做淘宝优惠券网站百度网页版入口链接
  • 创建网站选哪家好广告资源发布平台
  • 室内设计行业真难混seo页面链接优化
  • 做电脑网站手机能显示不出来怎么办企业营销策划书模板