也许我对mongodump
应该如何工作有一个完全的误解,但除了返回JavaScript execution failed: SyntaxError: Unexpected identifier
错误之外我似乎无法做任何事情。
这就是我正在做的事情:
mongodump --db mydb
并获得了上述错误mongodump
和mongoexport
,两者都有相同的问题我在这里做错了什么?
答案 0 :(得分:21)
请尝试以下work
i。打开终端
II。输入mongodump --collection collectionname --db dbname(不要进入mongo shell);
iii。如果默认端口不同(27017除外),则转到以下命令
mongodump --host mongodb1.example.net --port 37017 --username user --password pass --out /opt/backup/mongodump-2011-10-24
答案 1 :(得分:4)
mongodump,mongorestore不是mongodb shell的命令。这是独立的mongodb utlity。你可以在mongodb bin文件夹下找到它。
通常,您需要将所有mongodb实用程序添加到系统Path变量中,然后在命令行或终端中的任何位置添加这些简单的备份/恢复数据库。
如果你的数据库在默认端口(27017)上,你的命令看起来很mongodump --db mydb
。
答案 2 :(得分:3)
我遇到了使用mongo转储的问题,我还想将转储存储到S3
。最后,我得到一个bash script来获取mongo转储并将其存储到S3。我使用mongodump
进行备份。
mongodump -h $MONGO_HOST:$MONGO_PORT -d $MONGO_DATABASE
其中$MONGO_HOST
,$MONGO_PORT
和$MONGO_DATABASE
分别是host
,port
和database-name
的bash变量。
如果您在数据库上设置了用户名和密码,也可以对--username user --password pass
命令使用mongodump
选项。
Here是用于获取mongodb转储并使用cron将其存储到S3的脚本。