当前位置: 首页 > 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版若提示签名失效,需右键安装包 → 属性 → 勾选"解除锁定"

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

相关文章:

  • 如何管理“完美主义”导致的进度拖延
  • Spring boot 中的IOC容器对Bean的管理
  • GNOME扩展入门:日期时间
  • MODBUS转EtherNetIP边缘计算网关配置优化:Logix5000与ATV340高效数据同步与抗干扰方案
  • shadcn/radix-ui的tooltip高度定制arrow位置
  • 如何将 PDF 中的文本提取为 JSON 格式
  • 17.磁珠在EMC设计中的运用
  • 什么是关系型数据库
  • C++多态(实现部分)(一)
  • 【MySQL数据库入门到精通-06 DCL操作】
  • AXP2101入门
  • sass 变量
  • 【前端】基于 Promise 的 HTTP 客户端工具Axios 详解
  • pycharm2024.3.2项目解释器选择问题
  • CentOS 7 系统中,防火墙要怎么使用?
  • TDengine 流计算引擎设计
  • 【Yii2】Yii2框架的一次BUG排查
  • 第十天 Shader编程:编写简单表面着色器 Addressable资源管理系统 DOTS(面向数据技术栈)入门
  • 给git配置SSH(github,gitee)
  • Android 智能家居开发:串口是什么,为什么android版本都比较低?粘包半包的原因以及处理思路,缓冲区处理,以及超时清空缓冲区....
  • 伤者升至80人,伊朗港口爆炸源头或为“危险品和化学品仓库”
  • 上海论坛2025年会聚焦创新的时代,9份复旦智库报告亮相
  • 中国驻英国大使郑泽光:中国需要世界,世界也需要中国
  • 漫游者秦龙,一生为经典画插图
  • 新增1839个!2024年度本科专业备案和审批结果,公布
  • 我们的免疫系统,是世界上最好的“医生”