Mongodb 6.0 变化的配置参数与连接的方式变化

news2024/9/22 21:37:25

49aa49726576e727a60d324e9c26bbc3.png

开头还是介绍一下群,如果感兴趣polardb ,mongodb ,mysql ,postgresql ,redis 等有问题,有需求都可以加群群内有各大数据库行业大咖,CTO,可以解决你的问题。加群请联系 liuaustin3 ,在新加的朋友会分到2群(共720人左右 1 + 2)。

最近一段时间有点忙,对于MONGODB 的新的知识的学习懈怠了,罪过罪过,很多知识还停留在 MONGODB 4.4  之前的版本,实际上是知道MONGODB 的一些变化,所以从上礼拜就准备学习MONGODB6.0的一些新概念和知识,在安装上和配置参数上就遇到了不少的问题,所以总结写一篇和我一样MOGNODB 知识没有及时更新的同学共勉。

本次的中的一些问题也有我更换了操作系统,将操作系统更换为ubuntu 22.04 ,不在使用centos的问题,也一并写入到本篇中。

1 更换操作系统对于数据库的安装还是有一些影响的,这里更换了操作系统后,发现下载的包在配置文件正确的情况下,会报一个错误

26fa1cce6fc86e847a4e5e0ea8b72313.png

mongod: error while loading shared libraries: libcrypto.so.10: cannot open shared object file: No such file or directory

这个问题最初我没有注意,以为是缺依赖包,还尝试用ubuntu的工具安装所谓缺少的依赖包,但是努力后,给出的错误结果是一样的。后续查询文档,发现mongodb 6.0 对于系统的包,划分的更为细致了,我必须下载对应的ubuntu 和正确的版本号的mongodb ,这在早期的4.X 是不存在这个问题的。

2bf1edd8d0f290066caa93d0333874a7.png

在下载正确的ubuntu 22.04 版本的 tgz包后,再次启动mongodb 错误消失。

后面遇到的第二个问题是,mongodb的 server ,client ,tools 的包全部分离了,和4.X 不一样了,你的分别下载,并且登陆mongodb的命令也改变了。所以必须下载三次,mongodb community edition , mongodb shell , mongodb database tools, 另外大家熟悉的mongo client 的命令也不在提供了,而是通过mongoshell来访问。

ca08358c147f81494f6e04f6743a4231.png

6c7b40597922feb83f4b94eaddb1a8e5.png

整体的使用的方式还需要习惯和持续的学习,那么回到本篇里面的关于配置参数的部分。

以下为总结mongodb 4.2 版本后,更新的参数

systemLog.timeStampFormat  这个参数是mongodb 4.4 后添加的,这个值有两个可选项  iso8601-local 和 iso8601-utc ,推出这两个值,实际上是为了分析日志所用,其中一个问题是使用本地的时间记录日志,还是用utc 的时间记录,这对分析日志的系统来说是重要的。

在systemlog 中的component.storage. 中存在大量在mongodb 5.3后添加的参数基本都与wiredTiger 引擎有关

systemLog.component.storage.wt.verbosit

systemLog.component.storage.wt.wtBackup.verbosity

systemLog.component.storage.wt.wtCheckpoint.verbosity

systemLog.component.storage.wt.wtCompact.verbosity

systemLog.component.storage.wt.wtEviction.verbosity

systemLog.component.storage.wt.wtRecovery.verbosity

systemLog.component.storage.wt.wtSalvage.verbosity

systemLog.component.storage.wt.wtTiered.verbosity

systemLog.component.storage.wt.wtTransaction.verbosity

systemLog.component.storage.wt.wtWriteLog.verbosity

从以上的日志中可以看到在版本5.3 的上面有大量关于wt引擎的部分的更多的详细日志的展示,所以必然wt在5.3的这个部分需要查看 wt 部分。

在net中中关于bindIp的配置建议在这个位置,不写入IP地址,而是写入DNS地址,如果一个主机绑定多个 IP 则可以用逗号进行分割

cc2ba94568a2f8321dc93ac22303f47f.png

0d694c88ddebc0dd22d281e7b68231f6.png

在mongodb 4.4 后添加了 javascriptEnabled 参数,通过此参数来控制mognodb 内部是否可以运行javascript ,在mongodb中 javascript 类似与普通数据库的存储过程的概念。

9068363b8c35c483f0474db1f16a4d02.png

通过在mongodb 5.0 添加的参数 security.clusterIpSourceAllowlist 来进行mongodb 本身的进行集群或分片中的其他主机的认证,如果其他主机不在clusterIpSourceAllowlist 的列表里面即使申请了加入集群,也不会通过。security.clusterIpSourceWhitelist的功能被上面的参数所替代,未来不在使用security.clusterIpSourceWhitelist。

dbb545f7625f7aba17dae953d74d801a.png

下面是 storage  存储的部分,这是配置中比较重要的一部分,这部分参数在mongodb 4.4进行了一些改变,如删除了 indexBuildRetry 和 maxCacheOverflowFileSize 。

e97bbc55fe0c7d0f038642290b53ee34.png

storage.directoryPerDB 其中这个参数本身在MONGODB 5.0 有一些功能的变化,在之前如果一个 database 中删除最后一个collection ,则这个数据库的目录还是存在的,但是在5.0后,如果这样做,则这个目录也会被清理掉。

storage.oplogMinRetentionHours 基于mongodb 4.4后添加了这个参数这个参数的含义是,保证oplog在数据库中存在的时间数,如同postgresql  指定多少个文件必须保留在日志目录一样,这里mongodb是保证多少时间长度的oplog 不被清理掉,继续留存在数据库中。同时注意这个参数在高并发的情况下,请考虑是否开启,如果开启如果保留的时间和产生的日志数据之间可能会产生如下问题

1   日志直接打满原先设计的oplog size  设置的最大空间

2   在数据库的预定的oplog size 达到上限后,才会强制删除日志 (在设定的保留时间内)

3  在日志超过保留时间后,会进行日志的清理。

此选项是匹配mongodb的 replica 复制功能打开方可生效。

storage.wiredTiger.engineConfig.zstdCompressionLevel mongodb 在5.0后支持了 zstd的压缩,在启用数据的zstd 压缩后有 1-22 个等级的压缩可以进行制定

0ec376da971f5b6f22868be8e5000e65.png

下面是一个简单的单机的POSTGRESQL 的配置文件

systemLog:

   verbosity: 0

   destination: file

   path: "/mongodata/mongod.log"

   logAppend: true

   traceAllExceptions: false

   logRotate: reopen

   timeStampFormat: iso8601-local

   component.index.verbosity: 1

storage:

   dbPath: "/mongodata/data"

   journal:

      enabled: true

      commitIntervalMs: 100

   directoryPerDB: true

   wiredTiger:

      engineConfig:

         cacheSizeGB: 2

         journalCompressor: zlib

         directoryForIndexes: true

         zstdCompressionLevel: 10

      collectionConfig:

         blockCompressor: zstd

      indexConfig:

         prefixCompression

   oplogMinRetentionHours: 12

processManagement:

   fork: true

   pidFilePath: "/mongodata/mongod.pid"

net:

   bindIp: 192.168.198.100

   port: 27027

   wireObjectCheck: true

   maxIncomingConnections: 100

setParameter:

   enableLocalhostAuthBypass: false

security:

   #keyFile:

   authorization: enabled

   javascriptEnabled: true

operationProfiling:

   mode: slowOp

   slowOpThresholdMs: 500

   slowOpSampleRate: 1

8f7faf9af2983c331ae771fc5d0ad5dc.png

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

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

相关文章

【故障排查】【伪处理】Jenkins在iframe窗口无法添加secret text凭证

问题描述 环境的ingress是,有个 svc 暴露 30080 -> 80 大致流程: svc(ingress-nginx) 30080端口 -> pod (nginx-ingress-controller ) 80端口 -> ingress -> svc -> pod (Jenkins 8080端口&#xff0…

基于粒子群优化算法的路径问题优化研究及其在Python中的实现

基于粒子群优化算法的路径问题优化研究及其在Python中的实现 文章目录 基于粒子群优化算法的路径问题优化研究及其在Python中的实现一、简介二、引言1、粒子群优化算法简介2、PSO算法与鸟群的类比 三、PSO算法数学原理1、粒子的位置和速度2、适应度函数3、粒子的个体最优和全局…

基于html+css的图展示80

准备项目 项目开发工具 Visual Studio Code 1.44.2 版本: 1.44.2 提交: ff915844119ce9485abfe8aa9076ec76b5300ddd 日期: 2020-04-16T16:36:23.138Z Electron: 7.1.11 Chrome: 78.0.3904.130 Node.js: 12.8.1 V8: 7.8.279.23-electron.0 OS: Windows_NT x64 10.0.19044 项目…

从零开始搭建属于自己的hexo博客

前提要素:一个提供博客运行的服务器或者XX云。 先展示一下搭建好的样子,给大家一点动力: 整个搭建过程大概需要30分钟不到,请各位控制自己的时间~ 好了,废话不多说我们开始! 1、首先登录我们准备好的服…

redis高级篇二(分片集群)

一)进行测试Sentinel池: ​ Controller public class RestController {RequestMapping("/Java100")ResponseBodypublic String start(){//1.配置信息HashSet<String> setnew HashSet<>();// 连接信息 ip:port// set.add("127.0.0.1:27001");se…

[抓包] 微信小程序(PC版)如何抓包

本文抓包环境 Win10&#xff0c;微信(PC版本) v3.9.2.20&#xff0c;Burp Suite v1.7.32&#xff0c;Proxifier v3.42 不使用安卓模拟器 一、下载安装好Burp Suite&#xff0c;Proxifier 链接: https://pan.baidu.com/s/177BIEgCmZG9MfqQ4D0PTsg 提取码: 3hex 二、开始抓包 …

【ASP.NET Core笔记】 使用razor pages构建网站

使用ASP.NET Core Razor Pages 构建网站 sqlite 北风数据库 1. Northwind.Common.DataContext.Sqlite 是Sqlite的数据库上下文&#xff0c;有三个类&#xff1a;ConsoleLogger.csNorthwindContext.csNorthwindContextExtensions.cs 1.1 NorthwindContext 继承自 Microsoft.Enti…

计算机图形学-GAMES101-10

一、纹理 原模型网格->逐面Shading->逐像素Phong Shading->纹理贴图->换个纹理再贴图->环境光照。 &#xff08;1&#xff09;环境贴图 纹理就是一张图&#xff0c;纹理是GPU里的一块内存&#xff0c;可以进行点查询、范围查询、滤波。  环境光贴图、环境光映…

The authenticity of host ‘gitee.com (212.64.63.190)‘ can‘t be established.

在将本地仓库的代码推送到远程仓库时&#xff0c;出现下面报错。 $ git push -u origin master The authenticity of host gitee.com (212.64.63.190) cant be established. ECDSA key fingerprint is SHA256:FQGC9Kn/eye1W8icdBgrQpKkGYoFgbVr17bmjey0Wc. Are you sure you w…

Kali-linux分析密码

在实现密码破解之前&#xff0c;介绍一下如何分析密码。分析密码的目的是&#xff0c;通过从目标系统、组织中收集信息来获得一个较小的密码字典。本节将介绍使用Ettercap工具或MSFCONSOLE来分析密码。 8.2.1 Ettercap工具 Ettercap是Linux下一个强大的欺骗工具&#xff0c;也…

Mysql中常用到的查询关键字

文章目录 1、join2、like 模糊查询3、or4、distinct5、in 包含6、group by 分组7、order by8、limit 1、join MySQL 的连接主要分为内连接和外连接。 什么是内连接&#xff1a; 取得两张表中满足存在连接匹配关系的记录。 什么是外连接&#xff1a; 不只取得两张表中满足存在…

设计高端大气上档次的时尚品?!微软工程师借助AIGC成功圆梦!

&#xff08;本文阅读时间&#xff1a;5 分钟&#xff09; 在这个创意横飞、想象力爆棚的时代中&#xff0c;有很多美丽且吸引人的东西围绕在我们身边。然而&#xff0c;遗憾的是&#xff0c;被誉为“攻城狮”的我&#xff0c;内心里虽然非常喜欢且欣赏这些夺目的作品&#xff…

手动输入域账号自动禁用windows域用户的脚本

禁用windows域用户的脚本&#xff0c;需求&#xff1a; 1、显示该域用户的创建时间&#xff0c;最后登录时间和存放的OU&#xff0c; 2、将该账号禁用&#xff1b; 3、禁用后重新返回交互界面等待输入新的域账号。 Powershell脚本内如下&#xff1a; # 无限循环等待用户的输入…

Meta没做成的事OpenAI要干?ChatGPT之父推出加密项目Worldcoin

大模型焦虑还未停歇&#xff0c;鬼才创始人瞄准了加密领域。 继ChatPT之后&#xff0c;OpenAI的首席执行官Sam Altman推出的加密货币项目Worldcoin近日被透露融资近一亿美金&#xff0c;彻底搅翻了科技界与Web3的平静。 据官网描述&#xff0c;Worldcoin由Sam和Max Novendstern…

奇舞周刊第492期:提升 Web 核心性能指标的 9 个建议

记得点击文章末尾的“ 阅读原文 ”查看哟~ 下面先一起看下本期周刊 摘要 吧~ 奇舞推荐 ■ ■ ■ 提升 Web 核心性能指标的 9 个建议 大家好&#xff0c;我是 ConardLi。今天继续来为大家解读今年的 Google I/O&#xff0c;我会重点为大家解读前端开发者应该关注的信息&#xff…

软考初级程序员上午单选题(13)

1、下列不能兼作输入设备和输出设备的是______。 A&#xff0e;可擦除型光盘 B&#xff0e;软盘 C&#xff0e;硬盘 D&#xff0e;键盘 2、文件型计算机病毒主要感染______。 A&#xff0e;.TXT文件 B&#xff0e;.GIF文件 C&#xff0e;.EXE文件 D&#xff0e;.MP3文件 3、_…

【Error】Error: Cannot find module ‘babel-preset-es2015‘

启动项目时出现了下面的错误&#xff0c;错误图如下&#xff1a; 解决办法&#xff1a; 在项目的babel.config.js文件中修改presets的参数&#xff0c;修改如下&#xff1a; 原文件&#xff1a; 修改成babel/preset-env&#xff0c;修改后文件&#xff1a;

SpringBoot源码分析之Tomcat是如何在SpringBoot中启动的?

一.前言 我们知道SpringBoot可以直接把传统的war包打成可执行的jar包&#xff0c;直接启动。这得益于SpringBoot内置了容器可以直接启动。本文将以 Tomcat 为例&#xff0c;来看看 SpringBoot 是如何启动 Tomcat 的。 二.源码分析 一.SpringApplication初始化 public class…

【STC8】热启动串口指令下载

前言 在目标开发板没有装载自动下载电路的时候&#xff0c;往往需要冷启动&#xff0c;也就是需要手动开关电源&#xff0c;来达到单片机复位下载。当然还有一种方法是热启动&#xff0c;通过串口接收到自定义的指令后&#xff0c;软件执行复位下载。这就是本文介绍的内容。 材…

理解神经网络的数学原理(四)多层感知机(MLP)与二叉空间分割树(BSP Tree)

概述 最近发现了一个传统算法&#xff0c;非常适合描述多层感知机&#xff08;Multi-Layer Perceptron&#xff0c;MLP&#xff09;的模型逻辑&#xff0c;其算法逻辑也非常清晰简单&#xff0c;所以在这里再对比一下&#xff0c;方便大家更容易理解多层感知机的内容&#xff…