具有副本集的Mongodump:如何强制使用辅助?

时间:2014-03-05 10:39:16

标签: mongodb mongodump replicaset

我的MongoDB副本集备份存在一个奇怪的问题。我有2台服务器(一台主服务器和一台辅助服务器),我每2小时运行一次备份任务。

我用这个:mongodump.exe --db MyBase --out "d:\Backups"

但是,当我运行此备份时,我的客户端应用程序(c#)会抛出这样的错误:

  

MongoDB.Driver.MongoConnectionException:无法连接到与读取首选项主要匹配的副本集的成员

我认为mongodump对客户端应用程序没有任何影响。所以,那就是说。

我想仅在辅助服务器上强制执行备份操作。我该怎么办?要运行的命令是什么?

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

如果要备份辅助,则应在服务器上编写“mongodump”命令,其中 secondary 'mongod'正在运行。

或者您可以明确设置次要主机和端口:
mongodump.exe --host <secondary_host> --port <secondary_port> --db <db_name> --out <out_folder> --oplog

答案 1 :(得分:2)

我们也可以在mongodump命令中设置readPreference。此功能从mongoDB版本3.2开始可用

- readPreference'secondary'

https://docs.mongodb.com/manual/reference/read-preference/#replica-set-read-preference-modes