mongodb - 没有定义mongodump

时间:2016-01-19 11:42:53

标签: mongodb

我是mongodb的新手。我正在尝试使用 mongodump 备份我的数据库。但每当我使用此命令时,我都会收到以下错误

  

Referenceerror:未定义mongodump

我尝试创建一个包含所有角色的新用户但仍然遇到同样的错误。我应该添加特定角色来进行备份吗?或者我做错了什么?

5 个答案:

答案 0 :(得分:2)

对于Windows,您需要通过运行以下命令

来启动可执行文件
  

“C:\ Program Files \ MongoDB \ Server \ 3.4 \ bin \ mongodump.exe”--db your_database_name

上面的命令会将您的数据库导出到转储文件夹。此文件夹将位于保存“data”文件夹的位置。如果您使用默认的“data / db”文件夹,那么它将在那里,但如果您使用不同的位置,那么它将保留在那里。 此命令必须在正常的命令提示符下运行,而不是在mongo shell中运行。它是可执行的而不是mongo shell命令。官方文档链接是here

答案 1 :(得分:2)

  • 一种简单的方法是右键单击mongodump.exe并“以管理员身份运行” 。它将在mongodb主页的bin中创建包含所有数据库备份的转储文件夹。
  • 如果要使用命令,请以管理员身份打开cmd并转到mongodb的bin,您可以在其中触发具有预期参数的命令(例如mongorestore,mongodump等),例如用于特定数据库或与远程mongodb交互。

在(v4.2.3)上进行了测试

注意:许多人尝试在mongod中执行这些命令,在这里您可以执行错误的查询,这些工具需要单独使用。

答案 2 :(得分:1)

'mongodump'是包含在'mongodb-tools'软件包中的命令/工具。如果您的计算机上未安装此软件包,则说明未定义它是有道理的。 mongodb-tools还提供了其他一些用于导入和导出数据库的工具(例如mongorestore)。

也就是说,“ mongodump”不是mongo-shell命令,您不应该在mongo-shell中使用它。就像执行'mongod'或'mongo'等一样,这是一个完全不同的命令。

答案 3 :(得分:0)

这里有两个简单的例子,用于使用身份验证进行完整备份而不使用

mongodump -h hostname -v -u sys_account -p ys_password --authenticationDatabase admin --out folder_location_for_backup

如果没有身份验证

mongodump -h hostname -v --out folder_location_for_backup

这里还有mongorestore命令

mongorestore -h hostname -v -u admin_user -p admin_password --authenticationDatabase admin --dir folder_location_where_backup_is_located

如果没有身份验证

mongorestore -h hostname -v  --dir folder_location_where_backup_is_located

答案 4 :(得分:0)

很有可能在 Mongo Shell

下执行mongodump

mongodump应该直接在命令行或终端上运行(不要在mongo shell内

用于创建数据库转储

 mongo --db database_name

用于创建任何数据库集合的转储

mongo --db databas_name --collection collection_name