CentOS7二进制安装和YUM安装mongodb,服务器无法安装5.0以上的 mongodb 数据库报错 Illegal instruction

文章目录

  • MongoDB 安装
    • 二进制安装
    • YUM 安装
  • Tips:
    • 1、MongoDB安装问题
    • 2、MongoDB登录
    • 3、MongoDB排序时内存大小限制和创建索引
    • 4、创建用户
    • 5、Java yaml使用密码连接mongodb
    • 6、MongoDB增删改查

MongoDB 安装

二进制安装

[root@mysql5-7 mongodb-6.0.4]# cat start.sh #!/bin/bashcd /opt/mongodb-6.0.4
mongod --dbpath /data/mongodb --logpath ./mongod.log --bind_ip=0.0.0.0  --fork
[root@mysql5-7 mongodb-6.0.4]# cat stop.sh 
#!/bin/bashcd /opt/mongodb-6.0.4
mongod --dbpath /data/mongodb --logpath ./mongod.log --shutdown

YUM 安装

cat > /etc/yum.repos.d/mongodb-org-4.4.repo << EOF
[mongodb-org-4.4]
name=MongoDB Repository
baseurl=https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/
gpgcheck=1
enabled=1
gpgkey=https://pgp.mongodb.com/server-4.4.asc
EOF
yum install -y mongodb-org
systemctl start mongod

Tips:

1、MongoDB安装问题

故障分析 | MongoDB 5.0 报错 Illegal instruction 解决

仔细查找官方文档,可以看到安装MongoDB 5.0 版本确实需要依赖支持 AVX 指令集的 CPU

检查下我自己服务器的 CPU , 确实不支持 AVX (注意:若支持AVX指令集,flags字段会有打印 ‘avx’ 字符串):
在这里插入图片描述

结论

若需要安装或升级到 MongoDB 5.0 新版本,一定要提前确保自己的服务器 CPU 能否支持 AVX 指令集 架构,检查命令如下:

cat /proc/cpuinfo |grep avx

一般家用服务器和新出的服务器都支持 avx 指令集,但是老版本的和一些服务器的 cpu 不支持该指令集,建议使用4.4版本的mongoDB


2、MongoDB登录

mongo -u root -p 1233show dbs

3、MongoDB排序时内存大小限制和创建索引

[Error] Executor error during find command :: caused by :: Sort operation used more than the maximum 33554432 bytes of RAM. Add an index, or specify a smaller limit.

32MB这个限制是在参数internalQueryExecMaxBlockingSortBytes中控制。你可以在MongoDB的客户端上直接查看这个参数的值,执行以下语句:

db.runCommand({getParameter: 1,"internalQueryExecMaxBlockingSortBytes": 1
})

所以在4.3以上的版本,执行以下命令:

db.runCommand({getParameter: 1,"internalQueryMaxBlockingSortMemoryUsageBytes": 1
})

扩大排序内存的限制,例如扩大10倍至320M

db.adminCommand({setParameter:1, internalQueryExecMaxBlockingSortBytes:335544320})

4、创建用户

超级管理员

# 进入 mongo
mongo# 切换为 admin 用户
use admin

添加超级管理员账号

db.createUser({user:"rootadmin",pwd:"123456",roles:["root"]}
)

设置完成,可以通过指令 show users 查看是否设置成功。

开启验证权限
找到MongoDB安装目录下的bin目录中的mongod.cfg文件,开启权限验证功能:

security:authorization: enabled

创建pro用户,并授予pro用户check_prosample_pro2个库的管理权限和读写权限

db.createUser({user:"pro",pwd:"123456",roles:[{role:"dbAdmin", db:"sample_pro"},{role:"readWrite",db:"sample_pro"},{role:"dbAdmin", db:"check_pro"},{role:"readWrite",db:"check_pro"}]})

找到MongoDB安装目录下的bin目录中的mongod.cfg文件,开启权限验证功能:

security:authorization: enabled

5、Java yaml使用密码连接mongodb

  data:mongodb:host: 127.0.0.1username: 账号password: 密码port: 27017uri: mongodb://账号:密码@127.0.0.1:27017/check_pro?authSource=admin

uri: mongodb://账号:密码@127.0.0.1:27017/check_pro?authSource=admin


6、MongoDB增删改查

查询所有

    db.collectionName.find({});

查询+格式化显示

    db.collectionName.find({}).pretty();

查询排序

    db.collectionName.find({"userId":100012}).sort({"updateTime":-1});

更新符合条件的所有数据(注:使用前,先find执行,以确定更新的范围符合要求)

    db.collectionName.update({"userId":233290,"shortName":"LCC"},{$set:{"money":"2000","freezeMoney":"0"}},{multi:true});

删除符合条件的所有数据记录(注:使用前,先find执行,以确定删除的范围符合要求)

    db.collectionName.remove({"userId":100012});

删除所有数据但保留集合

    db.collectionName.remove({});

删除数据及集合本身(慎用)

    db.collectionName.drop();

新增集合及插入数据(没有集合=创建集合+插入新记录,有集合=插入新记录)

    db.collectionName.save({"usid":123});或db.collectionName.insert({"uu":123});

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

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

相关文章

js使用proxy代理监听控制事件

本文为proxy代理的实例应用&#xff0c;有关代理的内容可以参考&#xff1a; js语法---理解反射Reflect对象和代理Proxy对象 监听事件 要监听dom元素的事件&#xff0c;我们会采用回调触发的方式来执行操作&#xff0c; 而触发事件的过程很明显是一个异步操作&#xff0c;异…

Docker 使用基础(1)—镜像仓库

&#x1f3ac;慕斯主页&#xff1a;修仙—别有洞天 ♈️今日夜电波&#xff1a;秒針を噛む—ずっと真夜中でいいのに。 0:34━━━━━━️&#x1f49f;──────── 4:20 &#x1f504; ◀️ ⏸ …

android13 固定U盘链接 SD卡链接 TF卡链接 硬盘链接

1.前言 有些客户使用的应用并不带有自动监听U盘 sd卡广播的代码,使用的代码是固定的地址,这样的话,就需要我们将系统的挂载目录固定了。 原始路径 /storage/3123-19FA 增加链接 /storage/upan_000 -> /storage/3123-19FA 2. 首先如果是应用本身监听的话,使用的是 /…

【Linux线程篇】探索Linux多线程:并行编程的入门指南

W...Y的主页 &#x1f60a; 代码仓库分享&#x1f495; Linux线程概念 什么是线程 在一个程序里的一个执行路线就叫做线程&#xff08;thread&#xff09;。更准确的定义是&#xff1a;线程是“一个进程内部的控制序列”一切进程至少都有一个执行线程线程在进程内部运行&am…

揭秘:离心风机风量背后的科学原理

在工业生产和建筑环境中&#xff0c;离心风机如同一位不倦的呼吸管家&#xff0c;默默地维持着空气流动与品质。 你是否好奇过&#xff0c;究竟是什么因素在背后操纵着这位“呼吸管家”的风量表现呢&#xff1f;今天&#xff0c;就让我们一探究竟。 举个例子&#xff1a;你在吹…

『大模型笔记』GraphRAG:利用复杂信息进行发现的新方法!

GraphRAG:利用复杂信息进行发现的新方法! 文章目录 一. GraphRAG:利用复杂信息进行发现的新方法!1. 将RAG应用于私人数据集2. 整个数据集的推理3. 创建LLM生成的知识图谱4. 结果指标5. 下一步二. 参考文献微软官方推文:https://www.microsoft.com/en-us/research/blog/gra…

HTML5文本标签、图像标签、超链接

一、文本样式标签 字体样式标签&#xff1a; 加粗&#xff1a;<strong>…</strong> 斜体&#xff1a; < em >…</ em> eg&#xff1a; <h3>徐志摩人物简介</h3> <p> <strong>1910</strong>年入杭州学堂<br/> &l…

微信小程序 - 本地存储 增加有效期

小程序的本地存储API提供了wx.setStorageSync和wx.setStorage来存储数据&#xff0c;注意的是&#xff0c;小程序的本地存储并没有明确的有效期设置&#xff0c;存储的数据在不超过限制的情况下&#xff0c;会一直保留。 一、小程序本地存储API 小程序的本地存储API提供了设置…

WEB06JavaScriptAjax

基础语法 引入方式 引入方式 内部脚本&#xff1a;将JS代码定义在HTML页面中 JavaScript代码必须位于<script></script>标签之间 在HTML文档中&#xff0c;可以在任意地方&#xff0c;放置任意数量的<script> 一般会把脚本置于<body>元素的底部&a…

常见的气体流量计有哪些?

1.气体涡轮流量计 适用场合&#xff1a;流量变化小&#xff0c;脉动流频率小&#xff0c;中低压洁净天然气优点 1.精度高&#xff0c;重复性好 2.测量范围广&#xff0c;压损小&#xff0c;安装维修方便 3.具有较高的抗电磁干扰和抗震动能力缺点&#xff1a;分辨率低&#xff…

浏览器中js外挂脚本的执行方式

1、开发工具控制台交互执行 网页中按F12打开开发者工具&#xff0c;选择“控制台”&#xff0c;键入js脚本命令回车执行&#xff0c;适用于临时使用脚本逻辑简单的场景&#xff0c;实例如下&#xff1a; // 获取网页元素的文本脚本 var elem document.getElementById("…

接入应用内支付服务,提高商业变现效率

在当今竞争激烈的移动应用市场中&#xff0c;开发者们面临着提升应用商业变现能力的挑战。用户体验的流畅性和支付的安全性至关重要。 HarmonyOS SDK应用内支付服务&#xff08;IAP Kit&#xff09;为开发者提供了一站式的解决方案&#xff0c;简化了应用内支付的接入流程&…

C嘎嘎:类和对象(一)

目录 面向过程和面向对象的初步认识 类的引入 类的定义 类的访问限定符及封装 访问限定符 封装 类的作用域 类的实例化 类对象模型 如何计算类对象大小 结构体内存对齐规则 this指针 this指针的引出 this指针的特性 类的6个默认成员函数 构造函数 概念 特性 …

喜讯丨美格智能通过国际EcoVadis平台认证企业社会责任并荣获承诺奖章,彰显可持续发展实力

作为全球领先的无线通信模组及解决方案提供商&#xff0c;美格智能在社会责任领域再创新高。近日&#xff0c;美格智能凭借在企业社会责任和可持续性采购发展方面的卓越表现&#xff0c;通过国际在线权威评价机构EcoVadis对公司环境、劳工与人权、商业道德、可持续采购等方面审…

根据空格、制表符、回车符等分割字符串re.split

【小白从小学Python、C、Java】 【考研初试复试毕业设计】 【Python基础AI数据分析】 根据空格、制表符、 回车符等分割字符串 re.split [太阳]选择题 根据给定的Python代码&#xff0c;哪个选项是正确的&#xff1f; import re pattern r\s print(f"【显示】pattern{…

高清图片压缩无水印小程序源码系统 前后端分离 带完整的安装代码包以及搭建教程

系统概述 在当今的数字化时代&#xff0c;图片作为信息传播的重要载体&#xff0c;其质量和传输效率直接影响到用户体验。然而&#xff0c;高清图片往往伴随着较大的文件体积&#xff0c;这不仅会占用大量存储空间&#xff0c;还会拖慢网页或应用的加载速度。因此&#xff0c;…

热烈祝贺!全视通多家客户上榜全球自然指数TOP100!

2024年6月18日&#xff0c;全球医疗机构自然指数TOP100榜单发布&#xff0c;中国医疗机构在其中的表现尤为引人注目。 根据《自然》杂志网站发布的数据&#xff0c;此次公布的排名是基于&#xff08;2023年3月1日至2024年2月29日&#xff09;的统计数据&#xff0c;全球医疗机构…

旗晟机器人AI智能算法有哪些?

在当今迅猛发展的工业4.0时代&#xff0c;智能制造和自动化运维已然成为工业发展至关重要的核心驱动力。伴随技术的持续进步&#xff0c;工业场景中的运维巡检已不再单纯地依赖于传统的人工运维方式&#xff0c;而是愈发多地融入了智能化的元素&#xff0c;其中智能巡检运维系统…

前端Din字体和造字工房力黑字体文件

Din 字体是一种经典的、简洁的无衬线字体&#xff0c;它源自1930年代的德国交通标志设计。 造字工房力黑字体适用于数字&#xff0c;驾驶舱标题等统计界面 DIN-Medium.otf 案例 造字工房力黑.TTF 案例

记录一次MySql锁等待 (Lock wait timeout exceeded)异常

[TOC](记录一次MySql锁等待 (Lock wait timeout exceeded)异常) Java执行一个SQL查询未提交&#xff0c;遇到1205错误。 java.lang.Exception: ### Error updating database. Cause: java.sql.SQLException: Lock wait timeout exceeded; try restarting transactionCluster…