我是mongodb的新手。我正在尝试使用 mongodump 备份我的数据库。但每当我使用此命令时,我都会收到以下错误
Referenceerror:未定义mongodump
我尝试创建一个包含所有角色的新用户但仍然遇到同样的错误。我应该添加特定角色来进行备份吗?或者我做错了什么?
答案 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)
在(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