使用mongodump备份数据:“mongodump:找不到命令”

50

我想要获取本地数据库的转储,似乎应该使用以下命令:

mongodump --host localhost:3002

然而,终端随后告诉我:

-bash: mongodump: command not found

我是不是漏掉了什么?或者我的方法错了?我正在从终端在Mac上使用它。

我使用以下命令安装了Mongo(我想是这样):

curl http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.4.5.tgz > mongodb.tgz

tar -zxvf mongodb.tgz

你是如何安装MongoDB的? - Sammaye
@Sammaye curl http://downloads.mongodb.org/osx/mongodb-osx-x86_64-2.4.5.tgz > mongodb.tgz 然后执行 tar -zxvf mongodb.tgz - ediblecode
10个回答

78
截至MongoDB 4.4(于2020年7月30日发布),您可能需要单独安装mongodump,因为MongoDB数据库工具(包括mongodumpmongorestore等)已成为自己的项目。我发现这一点是因为我今天升级到了MongoDB 4.4,而mongodump停止工作了。
$ mongodump
zsh: command not found: mongodump

我正在使用macOS,并通过Homebrew安装了MongoDB。为了恢复mongodump和其他工具,我通过Homebrew安装了MongoDB数据库工具:

brew tap mongodb/brew
brew install mongodb-database-tools

如果您使用的是其他操作系统,可以参考以下内容: MongoDB数据库工具安装

2
升级到4.4后遇到了完全相同的问题。感谢您抽出时间更新这个问题并提供最新答案。 - Ralph Shillington
3
这绝对是2020年及以后的答案。谢谢! - Daniel J. Lewis
@AttRigh:在这个答案中建议安装mongodb-database-tools。 - Patrik Csak
啊,答案错误了。 - Att Righ
不支持 Mac M1/M2。 - Shubham A.
@ShubhamA。我在我的M1上进行了测试,它可以正常工作。 - Patrik Csak

58

brew tap mongodb/brew; brew install mongodb-community 还将安装 mongodump工具。

如果您没有brew命令,您应该考虑安装Homebrew


3
可以对与此无关的内容进行踩吗?按照问题描述,这是准确的,并且已经测试并可以直接使用。此外,这是一种最佳实践且可更新的方法。 - vinyll
1
对于OS X和MacPorts,请使用sudo port install mongo-tools - Ardit Hyka
3
在使用时出现错误:没有可用名称为“mongo”的公式。 - Alcides Bezerra
6
我已在答案顶部添加了一条注释,说明这个答案已经过时,并且 mongo homebrew 公式不再存在。以下命令也无法安装 mongodump:brew tap mongodb/brew; brew install mongodb-community。因此,我不知道如何通过 Homebrew 或其他方法在 OS X 上安装 mongodump。 - rjurney
我遇到了错误:mongodb-community: 无法下载资源“libnghttp2_bottle_manifest”。根据stackoverflow.com/a/63475905/1892584中的答案建议安装mongodb-database-tools,这样就可以解决问题了。 - Att Righ

12

如果您只是提取了.tgz文件,那么mongodump命令在您的PATH中不可用。进入您提取mongodb.tgz的目录内的/bin/子目录,mongodump二进制文件应该在那里。现在您可以执行:

./mongodump --host localhost:3002

然而,最好使用包管理器安装MongoDB。请阅读此页面:http://docs.mongodb.org/manual/tutorial/install-mongodb-on-os-x/,例如使用Homebrew来安装MongoDB,并将所有必要的二进制文件添加到PATH中。


啊,我在正确的目录下,只是没有在前面加上"./"。不过还是感谢你关于包管理器的信息 :) - ediblecode

10
brew tap mongodb/brew
brew install mongodb-database-tools

1
这个提示信息是:“mongodb/brew/mongodb-database-tools 100.1.1 已经安装,只是没有链接。您可以使用 brew link mongodb-database-tools 来链接此版本。”,这就导致了解决方案。 - Pedro Netto

8

如果要使用mongodump,必须从操作系统包管理器中安装mongo-tools库。


7

可能是因为它不在您的路径中,它应该与您的 "mongod" 在同一个目录中,然后您可以使用以下命令运行它:

/path/to/bin/mongodump --host localhost:3002

5

现在在官方MongoDB文档中了。例如,安装3.2版本:

brew tap mongodb/brew
brew install mongodb-community@3.2

请按照以下步骤更新 PATH 环境变量。

5

对于Windows用户

您可以从此处下载MongoDB数据库工具

并且您可以在此处阅读安装指南。


5

要使用mongodump命令,需要先安装mongo-tools工具。

sudo apt-get install mongo-tools


这个问题涉及到macOS操作系统。你的答案适用于基于Debian的Linux发行版。 - Johannes Barop

0
如果您已经安装了MongoDB,那么只需安装`mongodb-database-tools`并将其链接起来即可解决这个问题。
# install and link
brew install mongodb-database-tools
brew link mongodb-database-tools 

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接