当前位置: 首页 > news >正文

【MongoDB】卸载、安装低版本

卸载 MongoDB 的步骤因操作系统而异,以下是 Windows、macOS 和 Linux 的详细卸载方法:


1. Windows 卸载 MongoDB

方法 1:通过控制面板卸载

  1. 打开控制面板
    • Win + R → 输入 appwiz.cpl → 回车
  2. 找到 MongoDB
    • 在程序列表里找到 MongoDB Server 4.4(或类似名称)
  3. 右键卸载
    • 选择 卸载,并按照提示完成

方法 2:手动删除残留文件

如果控制面板没有 MongoDB,或者卸载不干净:

  1. 停止 MongoDB 服务(如果正在运行)
    net stop MongoDB
    
  2. 删除 MongoDB 安装目录(默认路径)
    rd /s /q "C:\Program Files\MongoDB"
    
  3. 删除数据目录(默认路径)
    rd /s /q "C:\data\db"
    
  4. 删除 MongoDB 服务(如果存在)
    sc delete MongoDB
    
  5. 清理环境变量(可选)
    • Win + Rsysdm.cpl高级环境变量
    • 删除 PATH 里的 MongoDB 相关路径

2. macOS 卸载 MongoDB

方法 1:通过 Homebrew 卸载(如果通过 brew 安装)

brew uninstall mongodb-community@4.4
brew cleanup

方法 2:手动卸载

  1. 停止 MongoDB 进程
    pkill -f mongod
    
  2. 删除 MongoDB 文件
    sudo rm -rf /usr/local/mongodb
    sudo rm -rf /usr/local/bin/mongo*
    sudo rm -rf /usr/local/etc/mongod.conf
    
  3. 删除数据目录(默认路径)
    sudo rm -rf /data/db
    

3. Linux 卸载 MongoDB

Ubuntu/Debian

# 停止 MongoDB
sudo systemctl stop mongod
sudo systemctl disable mongod# 卸载 MongoDB
sudo apt-get purge mongodb-org*
sudo apt-get autoremove# 删除数据目录
sudo rm -rf /var/lib/mongodb
sudo rm -rf /var/log/mongodb

CentOS/RHEL

# 停止 MongoDB
sudo systemctl stop mongod
sudo systemctl disable mongod# 卸载 MongoDB
sudo yum erase mongodb-org*# 删除数据目录
sudo rm -rf /var/lib/mongo
sudo rm -rf /var/log/mongodb

4. 检查是否卸载干净

  • Windows:检查 C:\Program Files\MongoDBC:\data\db 是否删除
  • macOS/Linux:运行 which mongodmongo --version,如果返回 not found 说明卸载成功

⚠️ 重要提示

  • 备份数据:卸载前确保备份 data/db/var/lib/mongodb 里的数据!
  • 彻底清理:如果之后要重装 MongoDB,建议删除旧的数据目录,避免冲突。

如果遇到问题(如服务无法删除、文件权限错误等),可以告诉我你的具体系统版本和错误信息,我会帮你解决! 🚀

在 Windows 上遇到 “拒绝访问” 错误时,通常是因为权限不足或文件被占用。以下是解决方法:


1. 以管理员身份运行 CMD

  • 方法 1
    • Win + R → 输入 cmdCtrl + Shift + Enter(以管理员身份运行)
  • 方法 2
    • 右键开始菜单 → 选择 “终端(管理员)”“命令提示符(管理员)”

2. 关闭占用 MongoDB 的进程

如果文件被占用,先结束相关进程:

taskkill /f /im mongod.exe
taskkill /f /im mongo.exe

3. 使用 takeown + icacls 获取所有权

# 获取目录所有权
takeown /f "C:\Program Files\MongoDB" /r /d y# 赋予当前用户完全控制权限
icacls "C:\Program Files\MongoDB" /grant Administrators:F /t# 再次尝试删除
rd /s /q "C:\Program Files\MongoDB"

4. 使用资源管理器手动删除(图形化操作)

  1. 打开 文件资源管理器 → 导航到 C:\Program Files\MongoDB
  2. 右键文件夹 → 属性安全高级
  3. 点击 更改所有者 → 输入 Administrators → 确定
  4. 勾选 “替换子容器和对象的所有者” → 应用
  5. 返回 安全 选项卡 → 给当前用户添加 完全控制 权限
  6. 最后手动删除文件夹

5. 使用 PowerShell 强制删除

Remove-Item -Path "C:\Program Files\MongoDB" -Recurse -Force

6. 安全模式下删除

如果仍失败,可重启进入 安全模式 再尝试删除:

  1. Win + R → 输入 msconfig → 回车
  2. 切换到 引导 选项卡 → 勾选 安全引导 → 选择 最小 → 确定并重启
  3. 进入安全模式后,重复删除操作
  4. 完成后回到 msconfig → 取消安全引导 → 正常重启

⚠️ 重要提示

  • 系统文件保护:确保你删除的是 MongoDB 目录,而非系统关键路径(如 C:\Program Files\Windows)。
  • 防毒软件干扰:临时关闭杀毒软件(如 360、Defender)再尝试删除。
  • 终极方案:如果目录仍无法删除,可使用 UnlockerLockHunter 工具解除占用。

如果官网下载页面没有直接提供 MongoDB 4.4 的选项,可以通过以下 4 种方法强制获取安装包:


方法 1:直接拼接下载链接(推荐)

MongoDB 官方仍保留历史版本文件,手动修改版本号即可下载:

  • Windows(MSI安装包):
    https://fastdl.mongodb.org/windows/mongodb-windows-x86_64-4.4.29-signed.msi
    
  • macOS(Intel芯片):
    https://fastdl.mongodb.org/osx/mongodb-macos-x86_64-4.4.29.tgz
    
  • Linux(Ubuntu 20.04):
    https://fastdl.mongodb.org/linux/mongodb-linux-x86_64-ubuntu2004-4.4.29.tgz
    

替换链接中的 4.4.29 可下载其他修订版本(查看所有版本号)


方法 2:通过APT/YUM仓库强制安装(Linux)

# Ubuntu/Debian
echo "deb [arch=amd64] https://repo.mongodb.org/apt/ubuntu $(lsb_release -sc)/mongodb-org/4.4 multiverse" | sudo tee /etc/apt/sources.list.d/mongodb-org-4.4.list
sudo apt-get update
sudo apt-get install -y mongodb-org=4.4.29 mongodb-org-server=4.4.29# CentOS/RHEL
sudo yum install -y https://repo.mongodb.org/yum/redhat/7/mongodb-org/4.4/x86_64/RPMS/mongodb-org-server-4.4.29-1.el7.x86_64.rpm

方法 3:Docker 快速部署

docker run --name mongo44 -d mongo:4.4

方法 4:手动编译(终极方案)

从GitHub获取4.4分支源码编译:

git clone -b r4.4.0 https://github.com/mongodb/mongo.git
cd mongo
python buildscripts/scons.py install-core

关键提示:

  1. 所有链接中的版本号(如4.4.29)可替换为官方发布记录中的具体版本
  2. 如果遇到证书错误,在下载链接前加 http:// 而非 https://
  3. Windows版若提示签名失效,需右键安装包 → 属性 → 勾选"解除锁定"

接上篇,修改成功
在这里插入图片描述

http://www.xdnf.cn/news/123499.html

相关文章:

  • RabbitMQ 中的队列声明
  • 动态规划dp专题-(下)
  • Ollama工具调用(Tool Calls)业务应用案例
  • 网站高可用架构设计基础——高可用策略和架构原则
  • 实现Variant
  • Ubuntu中选择Python虚拟环境
  • 仿真每日一练 | ABAQUS应力松弛
  • 【Java 数据结构】泛型
  • golang的cgo的一点小心得
  • 智能电网第5期 | 老旧电力设备智能化改造:协议转换与边缘计算
  • Spring Boot默认缓存管理
  • 第J5周:DenseNet+SE-Net实战
  • 手机端本地服务与后端微服务的技术差异
  • 模板元编程(Template Metaprogramming, TMP)
  • Redis 完整配置模板
  • 【UML建模】starUML工具
  • 房地产安装工程师简历模板
  • BBRv2,v3 吞吐为什么不如 BBRv1
  • Python元组全面解析:从基础到高级应用指南
  • AI文生图模型对比
  • 详解数据存储中的端到端数据校验技术
  • .NETCore部署流程
  • Caffeine 深度解析:从核心原理到生产实践
  • 保安员理论考试要点总结
  • 如何初入学习编程包含学习流程图
  • 多路转接epoll原理详解
  • SLAM常用地图对比示例
  • OSI七层模型和TCP/IP四层模型
  • Kotlin函数体详解:表达式函数体 vs 代码块函数体——使用场景与最佳实践
  • 安全生产知识竞赛活动方案流程规则