【MongoDB】mongodb安装及启动踩坑点

这篇具有很好参考价值的文章主要介绍了【MongoDB】mongodb安装及启动踩坑点。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

mongodb的安装,基本上参考文章[1]。

但是在过程中,有一些踩坑点。

1,高版本mongodb不自带mongo脚本

在文章1中,作者在解压后,直接使用了mongo脚本,而我下载的mongodb版本要更高,在解压后,bin目录中没有mongo脚本,mongo脚本是mongodb的命令行客户端,据说,这个从6.0版本开始是要自己安装的。

2,mongodb缺少依赖

在使用mongod启动server时,提示缺少依赖。通过ldd mongod命令,发现缺少依赖如下:

libnetsnmpmibs.so.31
libnetsnmpagent.so.31

尝试过使用yum whatprovides XXX来找到包含该依赖的组件并安装,发现都是一些net-snmp-agent-XXX。yum install后并没有解决问题。

后来从文章[2]那里,找到了解决办法,安装net-snmp。

yum install net-snmp

安装后,就不会有缺少依赖的报错了。

其实mongodb解压后,里面包括一个snmp的包,应该是需要snmp的。snmp是一种网络协议[3],而net-snmp是实现了snmp的组件[4]。总之缺少了net-snmp,mongodb是无法工作的。

3,依然无法正常启动,可能是data、logs目录出现了问题

到此时,再次启动Mongodb,依然无法正常启动。奇怪的是,mongod脚本启动server没有提示信息就直接结束了。当使用mongod关闭server时,提示似乎没有server在运行。

mongod关闭server

mongod --shutdown -f /etc/mongodb.conf

这就有点奇怪了。我找到这篇文章[5],杀死进程,还是会有新的27017端口进程出现,按照文章[5]所述,应该是守护进程不断重启导致的,在/etc/mongodb.conf中,将fork设置为false,这样就能够正常杀死进程了。但是发现还是无法正常启动。

此时根据文章[5]给我的启示,可能是data logs出现了问题。查看了下/etc/profile和/etc/mongodb.conf中data logs路径的配置都没有问题。而data目录下存在了很多文件,我此时还没有正常启动,哪来的data文件呢,因此我猜测可能是data目录出现了问题,因此删除了data和logs目录(logs里的Log是追加的,出问题的可能不大,但是保险起见,一起删除了)。

删除后,重新mkdir和touch来创建data和logs,再次启动,启动成功。

[root@localhost bin]# mongo --host 127.0.0.1 --port 27017
MongoDB shell version v5.0.24
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("1be50feb-f2bb-4986-8153-ecf03190cd1d") }
MongoDB server version: 5.0.24
================
Warning: the "mongo" shell has been superseded by "mongosh",
which delivers improved usability and compatibility.The "mongo" shell has been deprecated and will be removed in
an upcoming release.
For installation instructions, see
https://docs.mongodb.com/mongodb-shell/install/
================
Welcome to the MongoDB shell.
For interactive help, type "help".
For more comprehensive documentation, see
	https://docs.mongodb.com/
Questions? Try the MongoDB Developer Community Forums
	https://community.mongodb.com
---
The server generated these startup warnings when booting: 
        2024-01-24T01:40:16.103-08:00: Access control is not enabled for the database. Read and write access to data and configuration is unrestricted
        2024-01-24T01:40:16.103-08:00: You are running this process as the root user, which is not recommended
        2024-01-24T01:40:16.104-08:00: /sys/kernel/mm/transparent_hugepage/enabled is 'always'. We suggest setting it to 'never'
        2024-01-24T01:40:16.104-08:00: /sys/kernel/mm/transparent_hugepage/defrag is 'always'. We suggest setting it to 'never'
        2024-01-24T01:40:16.104-08:00: Soft rlimits for open file descriptors too low
        2024-01-24T01:40:16.104-08:00:         currentValue: 1024
        2024-01-24T01:40:16.104-08:00:         recommendedMinimum: 64000
---
MongoDB Enterprise > 

但是此时不要忘记,最好把守护进程打开,使用mongod shutdown将server关闭后,将配置文件里/etc/mongodb.conf里的fork改为true。

这时再次关闭server,依然会报错,客户端依然能够连上server,可能是因为fork为true无法关闭。

参考文章:
[1],Linux下MongoDB的安装与配置
[2],centos7 安装mongo ./mongod: error while loading shared libraries: libnetsnmpmibs.so.31:
[3],什么是SNMP?
[4],Snmp学习总结(六)——NET-SNMP 简介与使用
[5],mongodb启动异常:about to fork child process, waiting until server is ready for connection文章来源地址https://www.toymoban.com/news/detail-823744.html

到了这里,关于【MongoDB】mongodb安装及启动踩坑点的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • Mongodb 安装脚本(附服务器自启动)

    shell脚本 保存 install_mongo.sh vim mongodb.conf   MongoDB对用户的操作 创建用户 MongoDB创建用户必须进入到相关数据库下进行创建

    2024年02月09日
    浏览(47)
  • 使用 Docker 安装 MongoDB 数据库

    by emanjusaka from https://www.emanjusaka.top/2024/01/docker-create-mongo-db 彼岸花开可奈何 本文欢迎分享与聚合,全文转载请留下原文地址。 -d 后台运行 --restart=always 自动重新启动 --privileged 允许容器以特权模式运行 -v /opt/doc/data:/data/db 数据挂载 -p 27017:27017 端口挂载 --auth 启用了身份验证

    2024年01月18日
    浏览(48)
  • Mac环境下安装MongoDB数据库

    首先,从MongoDB官网下载自己想要使用的版本。 解压缩下载的压缩包重命名为mongodb,将mongodb文件夹复制到/usr/local目录下。 打开.zshrc 文件,若没有此文件可以创建一个 把 MongoDB 的二进制命令文件目录(安装目录/bin)添加到 PATH 路径中 编辑完成后保存并退出,然后使用sourc

    2024年02月16日
    浏览(51)
  • Windows环境下安装MongoDB数据库

    菜鸟教程:MongoDB 概念解析 ​​​ 要想直接操作MongoDB数据库,需要在系统中安装它。这里以Windows系统为例,讲解如何从官网中下载MongoDB,井且安装和配置到电脑上,具体步骤如下: 1、打开MongoDB下载网站(按住control并单击),进入到 官方网站(如图所示): 2、选择下载的版

    2024年02月01日
    浏览(53)
  • Ubuntu22.4系统mongodb数据库安装

    1、打开终端并运行以下命令,以导入 MongoDB GPG 密钥: 2、添加 MongoDB 仓库到你的系统。根据你的 Ubuntu 版本,选择适当的仓库链接: 对于 Ubuntu 20.04(Focal Fossa): 对于其他版本,请替换 ****$(lsb_release -cs)**** 为你的版本代号,然后运行以下命令: 3、更新你的包列表: 4、安

    2024年02月12日
    浏览(37)
  • docker 三步快速安装MongoDB 数据库

    本教程适用于Centos、Ubuntu、Mac、Window 系统。主要使用docker 安装Mongodb 5.0.7版本 1、执行docker命令之前,请自行安装docker,MongoDB安装命令如下: 1、创建MongoDB容器 docker run --restart=always -d --name mongo -v /DockerContainer/mongodb/data:/data/db -p 27017:27017 mongo:5.0.7 --auth 2、进入容器 docker exe

    2024年02月13日
    浏览(50)
  • MongoDB 安装报错:无法启动此程序,缺少dll文件

    在 Windows 环境下安装 MongoDB 时,提示无法启动此程序,因为计算机丢失 dll文件。尝试重新安装该程序以解决此问题。 因为是新安装的操作系统,缺少dll(动态链接库)文件支撑。解决方法将缺少的文件复制到系统或者安装程序路径下。 例如32位的操作系统,就复制到 C:Win

    2024年02月05日
    浏览(98)
  • Linux:mongodb数据库源码包安装(4.4.25版本)

    系统:centos7 本机ip:192.168.254.1 准备的mongodb包  版本 : 4.4.25      全名称:mongodb-linux-x86_64-rhel70-4.4.25.tgz Download MongoDB Community Server | MongoDB https://www.mongodb.com/try/download/community  我这里演示的系统为centos7那么我就下载centos7的源码包 点击下载以后, 放入Linux中  同一时间最多

    2024年02月07日
    浏览(61)
  • 【小沐学数据库】MongoDB下载、安装和入门(Python)

    MongoDB是一个文档数据库,旨在简化应用程序 开发和扩展。 官网地址: https://www.mongodb.com/ MongoDB 是一个基于分布式文件存储的数据库。由 C++ 语言编写。旨在为 WEB 应用提供可扩展的高性能数据存储解决方案。 MongoDB 是一个介于关系数据库和非关系数据库之间的产品,是非关

    2024年02月03日
    浏览(46)
  • window10 使用docker 本地安装部署mongodb数据库

    一、window10 安装docker 可以参看笨鸟教程【Windows Docker 安装】 安装完后的Docker Desktop是这个样子: 原始的docker镜像拉取仓库速度较慢,为了方便docker拉取镜像,可以设置国内的加速镜像,如:阿里 云、有道等【镜像加速】: 二、docker下载运行mongodb镜像 1 直接在 windows powerShel

    2024年02月03日
    浏览(46)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包