Linux 安装 MongoDB

MongoDB 安装

官网下载地址:www.mongodb.com/try/downloa...

本文演示在 Fedora 上安装 MongoDB

一、进入官网下载地址

二、选择合适的版本

  • Platform: 选择对应的系统版本即可
  • Package: 选择 tgz 压缩包

由于 Fedora 是我在 Mac 上的虚拟机,所以这里选的是 ARM64

三、下载安装包

3.1 在线安装

  • 点击 Copy Link 复制下载链接
  • 在终端中执行下载命令
arduino 复制代码
// 该命令会将文件下载到当前文件夹
curl -O <复制的地址>

3.2 离线安装

点击 Download 下载安装包即可

四、安装 MongoDB

  1. 新建一个目录
bash 复制代码
# 创建文件夹
sudo mkdir -p /data /data/db
# 给当前用户设置权限
sudo chown <用户名> /data/db
  1. 将下载好的安装包解压到 /data 目录下
bash 复制代码
tar -xvf mongodb-linux-x86...tgz -C /data
  1. 添加环境变量
ruby 复制代码
export PATH=$PATH:/data/mongodb-linux-x86.../bin
  1. 执行 mongod 测试环境变量配置是否成功

    mongod

注:如果安装 5.x 版本,执行 mongod 报:非法命令,则需要降级 MongoDB 数据库为 4.x

  1. 安装 MongoDB 数据库
css 复制代码
mongod --dbpath /data/db --port 27017 --logpath /data/db/mongod.log --fork -bind_ip 0.0.0.0
  • --dbpath: mongod 实例存储数据的目录
  • --port: MongoDB 实例侦听客户端连接的 TCP 端口。
  • --logpath: 日志文件路径
  • --fork: 默认情况下,mongod 不作为守护进程运行,该选项可以将 mongod 作为守护进程运行。
  • -bind_ip: mongod 用于监听客户端连接的主机名和/或 IP 地址, 默认是 localhost, 0.0.0.0 是允许所有来源IP 链接。

输出一下内容则为安装成功

如果安装失败,并且报下面这个问题,可能是因为文件夹没有权限导致的

五、mongorestore

MongoDB 备份恢复工具

5.1 mongorestore 未找到命令

  1. 首先在 mongo 安装目录中查找是否有 mongorestore
  2. 如果没有则下载 mongodb 工具箱
    官方下载地址:www.mongodb.com/try/downloa...
  3. 下载并安装完成后,设置为环境变量即可正常运行

5.2 mongorestore 无法成功导入

执行 mongorestore 报以下错误

vbnet 复制代码
2022-05-05T23:29:36.869+0800 using default 'dump' directory
2022-05-05T23:29:36.869+0800 try 'mongorestore --help' for more information
2022-05-05T23:29:36.869+0800 Failed: mongorestore target 'dump' invalid: stat dump: no such file or directory
2022-05-05T23:29:36.869+0800 0 document(s) restored successfully. 0 document(s) failed to restore.

执行命令时指定备份恢复目录

bash 复制代码
mongorestore /data/dump
相关推荐
GreenTea6 小时前
深度解读 Anthropic 多智能体报告:更强的模型 ≠ 更好的协调
前端·后端·算法
风流 少年6 小时前
Spring AI 2.0:Memory
java·后端·spring
2603_965148116 小时前
如何解析JSON数据?API返回的商品信息处理教程
开发语言·数据库·python·自动化·json·api
ltl7 小时前
RocksDB 经典故障排查:L0、compaction 与 write stall
数据库
万少7 小时前
给 DeepSeek Harness 装个"应用商店":一条命令,595 个插件随你逛
前端·javascript·后端
xfhuangfu8 小时前
Oracle中建立到CDB和PDB的连接
数据库·oracle·rpc
小小龙学IT8 小时前
DuckDB 深度实战:用 C++ 在进程内跑一个「分析型数据库」
数据库·c++
NineData8 小时前
DTCC 2026 预告|NineData CEO& 创始人叶正盛:面向 AI Agent 的数据库 DevOps 与数据复制实践
数据库·人工智能·数据库开发·devops·ninedata·数据库技术·dtcc
J_bean9 小时前
MySQL 事务是否必须手动开启?
数据库·mysql·数据库事务·自动提交·手动提交
J_bean9 小时前
MySQL InnoDB 如何检测死锁、判定死锁、处理死锁
数据库·mysql·死锁·死锁检测·处理死锁·死锁判定