Linux系统下安装MongoDB的详细方法图文教程

 更新时间:2023年06月03日 13:48:18   作者:多加点辣也没关系  
这篇文章主要介绍了Linux系统下安装MongoDB的详细方法图文教程,需要的朋友可以参考下
(福利推荐:【腾讯云】服务器最新限时优惠活动,云服务器1核2G仅99元/年、2核4G仅768元/3年,立即抢购>>>:9i0i.cn/qcloud

(福利推荐:你还在原价购买阿里云服务器?现在阿里云0.8折限时抢购活动来啦!4核8G企业云服务器仅2998元/3年,立即抢购>>>:9i0i.cn/aliyun

前言

MongoDB 是一个基于分布式文件存储的数据库,主要用于为 web 应用提供可扩展的高性能数据存储解决方案。

以下内容是如何在 Linux 下搭建单机版 MongoDB 的教程,主要参照 MongoDB - 学习教程

如果想要在 Windows 下安装 MongoDB ,详见 MongoDB的安装(详细教程)

一、概述

MongoDB 由 C++语言编写,是一个介于关系型数据库和非关系型数据之间的产品,是非关系型数据库中功能最丰富,最像关系数据库的。它支持的数据结构非常松散,是类似与 jsonbson 格式,因此可以存储比较复杂的数据类型。MongoDB 最大的特点是它支持的查询语言非常强大,其语法有点类似于面向对象的查询语言,几乎可以实现类似关系数据单表查询的绝大部分功能,而且还支持对数据建立索引。

MongoDB 的设计目标是高性能、可扩展、易部署、易使用,存储数据非常方便。所以它比传统的关系数据库,例如 MySQL,更加适合去应对一些 “三高” 需求:比如对数据库高并发的读写需求、对海量数据的高效率存储和访问需求以及对数据库的高可扩展和高可用性的需求。

由此可见 MongoDB 的特点如下:

高性能高可用高扩展丰富的查询支持动态模式和灵活的文档模型

应用常见上通常见到的是存储用户信息、聊天信息、游戏数据、订单信息等等。之前我们就有使用 MongoDB 存储一些优惠劵的信息,性能上也是非常不错的。

二、下载

官网:www.mongodb.com

在这里插入图片描述

选择 Products > Community Edition 就能进入社区版

在这里插入图片描述

在这里下载 Linux 版对应的安装包

在这里插入图片描述

在这里插入图片描述

在这里直接下载可能会比较慢,以下我提供了已经下载好的安装包:
链接: https://pan.baidu.com/s/1gNhoJc7T1TOKxQfvpHUkwg

提取码: 8e97 

三、安装与启动

连上 Linux 服务器(这里的服务器我用的是云服务器),我先创建一个 mongodb 的文件夹来存放安装包。

# 在 /soft 目录下创建一个空的文件夹 mongodb
mkdir /soft/mongodb
# 进入这个新建的文件夹下
cd /soft/mongodb

在这里插入图片描述

然后上传之前下载好的 Linux 下 MongoDB 的安装包,使用 rz 命令上次文件(有些终端工具是可以直接上传文件的,比如 FinalShell)

在这里插入图片描述
在这里插入图片描述

在该目录下再创建一个文件夹,并且将安装包解压到该文件夹中

# 在当前目录下(mysql)下创建一个 mongodb-5.0.11 文件夹
mkdir mongodb-5.0.11
# 解压安装包到该目录下
tar -xvf mongodb-linux-x86_64-rhel70-5.0.11.tgz -C mongodb-5.0.11

在这里插入图片描述

解压完成之后可以切换到 mongodb-5.0.11 目录下查看解压后的文件

# 进入 mongodb-5.0.11 文件夹
cd mongodb-5.0.11
# 进入 mongodb-linux-x86_64-rhel70-5.0.11 文件夹
cd mongodb-linux-x86_64-rhel70-5.0.11
# 查看目录下的文件
ll

在这里插入图片描述

可以看到和 windows 下解压之后的文件是差不多的,bin 目录下存放的是 MongoDB 的一些命令。

创建与 bin 目录同级的 data\dblogconf 目录用于存放数据和日志

# 创建 data\db 文件夹存放数据
mkdir -p data/db
# 创建 log 文件夹存放日志
mkdir log
# 创建 conf 文件夹存放配置文件
mkdir conf

在这里插入图片描述

log 目录下创建 mongodb.log 存放日志,在 conf 目录下创建 mongodb.conf 文件并添加以下配置信息:

# 进入 log 目录
cd log
# 创建 mongodb.log 文件
touch mongodb.log
# 在 conf 目录下创建 mongodb.conf 文件并编辑
vi ../conf/mongodb.conf

在这里插入图片描述

在这里插入图片描述

配置文件:

systemLog:
  # MongoDB发送所有日志输出的目标指定为文件
  # The path of the log file to which mongod or mongos should send all diagnostic logging information
  destination: file
  # mongod或mongos应向其发送所有诊断日志记录信息的日志文件的路径
  path: "/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/log/mongod.log"
  # 当mongos或mongod实例重新启动时,mongos或mongod会将新条目附加到现有日志文件的末尾。
  logAppend: true
storage:
  # mongod实例存储其数据的目录。storage.dbPath设置仅适用于mongod。
  # The directory where the mongod instance stores its data.Default Value is "/data/db".
  dbPath: "/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/data/db"
  journal:
    #启用或禁用持久性日志以确保数据文件保持有效和可恢复。
    enabled: true
processManagement:
  #启用在后台运行mongos或mongod进程的守护进程模式。
  fork: true
net:
  # 服务实例绑定的IP,默认是localhost(10.0.4.12:局域网IP)
  bindIp: localhost,10.0.4.12
  # bindIp
  #绑定的端口,默认是27017
  port: 27017

进入到 bin 目录下 启动 MongoDB

# 以配置文件的形式启动mongod -f ../conf/mongodb.conf

在这里插入图片描述

如果在输入上述命令之后提示:-bash: mongod: command not found,但是 bin 目录下又有 mongod 的可执行文件,可查看文章末尾 可能会遇到的问题

在这里插入图片描述

看到 successfully 就表示启动成功了,forked process:19886 表示该服务启动的进程号是:19886,可通过 ps -ef | grep 19886 或者 ps -ef | grep mongod 才看 MongoDB 的运行情况。

在这里插入图片描述

停止关闭服务:

方式一:正常流程关闭:

# 客户端登录服务,注意,这里通过localhost登录,如果需要远程登录,必须先登录认证才行。
mongo --port 27017
# 关闭服务
db.shutdownServer()

方式二:快速关闭:

#通过进程编号关闭节点
kill -2 19886

四、连接

登录客户端服务,输入 mongo 命令便可以连接上

mongo

在这里插入图片描述

但是通常我们是通过图型化工具,远程进行连接。

一些连接数据库的图形化工具也能够连接 MongoDB,比如 Navicat,Compass 图形化界面客户端是能在 MongoDB 官网上找到的。

在这里插入图片描述

在这里插入图片描述

五、可能会遇到的问题

(1)-bash: mongod: 命令未找到

如果在输入 mongodb 相关的命令之后提示:-bash: mongod: command not found,但是 bin 目录下又有的可执行文件

在这里插入图片描述

原因是没有将可执行文件 添加至 path ,输入以下命令:

export PATH=/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/bin:$PATH

在这里插入图片描述

重新启动下 MongoDB

在这里插入图片描述

(2)数据损坏重修复

如果一旦是因为数据损坏,则需要进行如下操作(了解):

删除lock文件:

# mongodb-data-db-directory 表示 数据存放路径
# 比如:/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/data/db
rm -f <mongodb-data-db-directory>/*.lock

修复数据:

# mongodb-data-db-directory 表示 数据存放路径
# 比如:/soft/mongodb/mongodb-5.0.11/mongodb-linux-x86_64-rhel70-5.0.11/data/db
mongod --repair --dbpath=<mongodb-data-db-directory>

(3)远程连接时出错

在这里插入图片描述

这个错误提示出现的可能有很多,我就列举几个我能想到的吧

  • 首先去检查你的 MongoDB 是否关掉了,如果关了的话重启再连接
  • 服务器上面的防火墙是否是开着的状态,或者 27017 的端口是否对外开放
  • 如果你的服务器是云服务器的话,需要去云服务器上面开放 27017 的端口

第一种情况我就不赘述了,如果你的 MongoDB 是安装在虚拟机上面的话,简单粗暴的方式是直接关闭防火墙

# 关闭防火墙
systemctl stop firewalld.service 
# 查看防火墙的状态
firewall-cmd --state 
# 禁止firewall开机启动
systemctl disable firewalld.service

或者为了安全,只开放特定的端口号,MongoDB 默认端口是 27017

# 关闭防火墙
systemctl stop firewalld.service 
# 27017 端口对外开放
firewall-cmd --remove-port=27017/tcp --permanent 
# 重启防火墙
firewall-cmd --reload

但是,如果你 MongoDB 并不是安装在虚拟机上的,而是放到云服务器上面,那你必须还得在云服务上面开放这几个端口

行在 某某云 上面的,我就得做如下设置:

找到我的服务器,点击 更多,选择 管理

在这里插入图片描述

进入下一个页面之后,选择 防火墙

在这里插入图片描述

添加 27017 端口对外开放

在这里插入图片描述

测试连接

在这里插入图片描述

到此这篇关于Linux系统下安装MongoDB的详细方法图文教程的文章就介绍到这了,更多相关Linux MongoDB安装方法内容请搜索程序员之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持程序员之家!

相关文章

  • mongodb exception: $concat only supports strings, not NumberInt32解决办法

    mongodb exception: $concat only supports strings, not Number

    这篇文章主要介绍了mongodb exception: $concat only supports strings, not NumberInt32解决办法,需要的朋友可以参考下
    2014-06-06
  • mongodb 添加用户及权限设置详解

    mongodb 添加用户及权限设置详解

    我知道的关系型数据库都是有权限控制的,什么用户能访问什么库,什么表,什么用户可以插入,更新,而有的用户只有读取权限。
    2014-07-07
  • MongoDB数据库用户角色和权限管理详解

    MongoDB数据库用户角色和权限管理详解

    这篇文章主要给大家介绍了关于MongoDB数据库用户角色和权限管理的相关资料,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友们下面随着小编来一起学习学习吧
    2020-11-11
  • 将MongoDB加入到Windows的本地服务项的方法

    将MongoDB加入到Windows的本地服务项的方法

    下面主要针对MongoDB在Windows下加入本地服务项做一些简单的分享。以方便刚接触MongoDB并在Windows环境下进行开发的同学
    2014-08-08
  • MongoDB的安装及配置文件选项全解

    MongoDB的安装及配置文件选项全解

    本文收录了MongoDB的安装及配置文件选项全解,介绍了MongoDB安装的方法以及环境下的一些重要文件,还有最重要的是详细地罗列了配置文件中的选项含义和参数,需要的朋友可以参考下
    2016-07-07
  • MongoDB多条件模糊查询示例代码

    MongoDB多条件模糊查询示例代码

    这篇文章主要给大家介绍了关于MongoDB多条件模糊查询的相关资料,文中通过示例代码介绍的非常详细,对大家学习或者使用MongoDB具有一定的参考学习价值,需要的朋友们下面来一起学习学习吧
    2019-09-09
  • mongodb如何对文档内数组进行过滤的方法步骤

    mongodb如何对文档内数组进行过滤的方法步骤

    这篇文章主要介绍了mongodb如何对文档内数组进行过滤的方法步骤,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2018-10-10
  • ?PostgreSQL?与MongoDB使用对比分析

    ?PostgreSQL?与MongoDB使用对比分析

    这篇文章主要介绍了为什么?PostgreSQL?能代替?MongoDB?,需要的朋友可以参考下
    2023-12-12
  • MongoDB入门教程之Windows下的MongoDB数据库安装图解

    MongoDB入门教程之Windows下的MongoDB数据库安装图解

    这篇文章主要介绍了MongoDB入门教程之Windows下的MongoDB数据库安装图解,本文还讲解了MongoDB的基本操作,如insert、find、 update、remove等操作,需要的朋友可以参考下
    2014-08-08
  • MongoDB Windows安装服务方法与注意事项

    MongoDB Windows安装服务方法与注意事项

    这篇文章主要介绍了MongoDB Windows安装服务方法与注意事项的相关资料,MongoDB作为一个基于分布式文件存储的数据库,近两年大受追捧。数据灵活的存取方式和高效的处理使得它广泛用于互联网应用,需要的朋友可以参考下
    2016-12-12

最新评论

?


http://www.vxiaotou.com