从 ubuntu 卸载 mongoDB

Posted

技术标签:

【中文标题】从 ubuntu 卸载 mongoDB【英文标题】:Uninstall mongoDB from ubuntu 【发布时间】:2022-01-13 16:56:45 【问题描述】:

我已经按照Install MongoDB Community Edition on Ubuntu 中的命令在我的ubuntu 14.04 64 位系统上安装了MongoDB 3.0.1,并且我安装了Robomongo 接口来使用它。

当我尝试使用 Robomongo 连接 MongoDB 时,我收到授权失败的错误。我发现 Add support for SCRAM-SHA-1 authentication (MongoDB 3.0+) 解释说 Robomongo 0.8.5 不完全支持 MongoDB 3.0.X。

作为回应,我想删除 MongoDB 3.0.1 并安装 MongoDB 2.2。

我尝试了以下命令:

 apt-get remove --purge mongodb

还有

apt-get autoremove --purge mongodb

在这两种情况下,我都收到以下错误:

" 无法打开锁定文件 /var/lib/dpkg/lock - open (13: Permission denied) E: 无法锁定管理目录(/var/lib/dpkg/),你是root吗?”

任何帮助将不胜感激。

【问题讨论】:

您有访问sudo 的权限吗?如果是这样,sudo apt-get remove --purge mongodb 尝试从 root 运行此命令。 sudo apt-get remove --purge mongodb 添加 sudo 有效。谢谢 不确定是否是拼写错误,但不要使用 MongoDB 2.2,此时它已经很老了。之前的 3.0 (2.6) 版本应该可以在 robomongo 上正常工作 【参考方案1】:
sudo service mongod stop
sudo apt-get purge mongodb-org*
sudo rm -r /var/log/mongodb
sudo rm -r /var/lib/mongodb

这对我有用

【讨论】:

如果您进入副本集,请确保删除 mongodb-server。 我用这个来删除包:sudo apt-get purge mongodb-* 这对我来说并没有删除 mongodb.conf 文件...之后我执行了 Kevin 回答中的命令【参考方案2】:

在我的例子中,mongodb 包被命名为 mongodb-orgmongodb-org-*

所以当我输入sudo apt purge mongo 然后tab(用于自动完成)时,我可以看到所有以mongo 开头的已安装包。

另一个选项是运行以下命令(这将列出名称或描述中包含mongo 的所有包):

dpkg -l | grep mongo

总之,我会做(清除所有以mongo 开头的包):

sudo apt purge mongo*

然后(以确保没有留下任何 mongo 包):

dpkg -l | grep mongo

当然,正如@alicanozkara 所说,您需要手动删除一些目录,例如/var/log/mongodb/var/lib/mongodb

运行以下find 命令:

sudo find /etc/ -name "*mongo*"sudo find /var/ -name "*mongo*"

可能还会显示一些您可能想要删除的文件,例如:

/etc/systemd/system/mongodb.service
/etc/apt/sources.list.d/mongodb-org-3.2.list

和:

/var/lib/apt/lists/repo.mongodb.*

您可能还想删除用户和组mongodb,为此您需要运行:

sudo userdel -r mongodb
sudo groupdel mongodb

要检查mongodb用户/组是否存在,请尝试:

cut -d: -f1 /etc/passwd | grep mongo
cut -d: -f1 /etc/group | grep mongo

【讨论】:

即使经过所有步骤并参考了大多数网站上的几乎所有答案,我仍然无法找到我的问题。即使在所有清除之后,当我运行 mongod 时,它也会运行。然后我做了: sudo find / -name "mongo" 然后我删除了:- sudo rm -R /usr/local/bin/mongo* sudo rm -R /usr/bin/mongo* @AkashDeepSinghal 尝试删除 /usr/bin 中的 mongo 文件。我不知道为什么这里没有人提到这个。【参考方案3】:

我建议执行以下操作以确保所有内容都已卸载:

sudo apt-get purge mongodb mongodb-clients mongodb-server mongodb-dev

sudo apt-get purge mongodb-10gen

sudo apt-get autoremove

这也应该从

中删除您的配置
 /etc/mongodb.conf.

如果你想彻底清理并且你可能还想删除数据目录

/var/lib/mongodb

【讨论】:

我只想补充一点,如果上面的命令不起作用,请运行 'apt list --installed' 以找到您已安装的 Mongo 软件包的确切名称,然后执行 Kevin 概述的命令正确的名称。【参考方案4】:

将命令与 sudo 一起使用,

sudo apt-get autoremove --purge mongodb

sudo apt-get remove mongodb* --purge

它将删除完整的 mongodb

【讨论】:

请注意,在 2021 年,上面的第二个命令有效,但第一个命令在现代安装中往往会失败。【参考方案5】:

停止 MongoDB

通过发出以下命令停止 mongod 进程:

sudo service mongod stop

删除包

删除您之前安装的所有 MongoDB 包。

sudo apt-get purge mongodb-org*

删除数据目录。

删除 MongoDB 数据库和日志文件。

 sudo rm -r /var/log/mongodb /var/lib/mongodb

【讨论】:

【参考方案6】:

有时这可行;

sudo apt-get install mongodb-org --fix-missing --fix-broken
sudo apt-get autoremove mongodb-org --fix-missing --fix-broken

【讨论】:

使用 Linux Mint 18 和 mongodb 3.2.10 为我工作【参考方案7】:

这将完全删除 MongoDB:

sudo apt-get remove mongodb* --purge

【讨论】:

包,是的,但不是任何服务器数据【参考方案8】:

在命令中使用 sudo

sudo apt-get remove --purge mongodb  
apt-get autoremove --purge mongodb  

【讨论】:

以上是关于从 ubuntu 卸载 mongoDB的主要内容,如果未能解决你的问题,请参考以下文章

从 ubuntu 卸载 mongoDB

无法从 Ubuntu 16.04 卸载 anaconda

无法从 ubuntu 完全卸载 Postgres

无法从 ubuntu 16.04 LTS 卸载节点

如何从 Ubuntu 和 windows 机器上卸载 H2 数据库?

如何从 ubuntu 卸载 Cuda7.5?