我的MongoDB副本集备份存在一个奇怪的问题。我有2台服务器(一台主服务器和一台辅助服务器),我每2小时运行一次备份任务。
我用这个:mongodump.exe --db MyBase --out "d:\Backups"
但是,当我运行此备份时,我的客户端应用程序(c#)会抛出这样的错误:
MongoDB.Driver.MongoConnectionException:无法连接到与读取首选项主要匹配的副本集的成员
我认为mongodump对客户端应用程序没有任何影响。所以,那就是说。
我想仅在辅助服务器上强制执行备份操作。我该怎么办?要运行的命令是什么?
感谢您的帮助。
答案 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