在副本集实现后,Shell脚本仅在mongodb的辅助服务器中进行备份

时间:2018-05-23 11:12:53

标签: mongodb replicaset

如何在副本集实施后才在备用服务器上进行备份? 基于投票,主服务器和辅助服务器将继续更改,因此我总是想检查辅助IP地址并希望在该计算机上进行备份。

有人可以帮忙吗?

2 个答案:

答案 0 :(得分:1)

只需将网址传递给mongodump的辅助服务器作为--host参数。

  

如果传递给--host的字符串包含mongod实例列表,   但不包括副本集名称作为主机的前缀   字符串,mongodump默认从最近的节点读取。

示例:

mongodump --host "rep2.example.net:27017"

另一种方式(如果您不能将硬编码地址定义到辅助服务器)是定义read preference mode。为此,您需要将readPreference参数设置为secondary(或者更好地使用secondaryPreferred代替它。)

示例:

mongodump --host "replSet/rep1.example.net:27017,rep2.example.net:27017,rep3.example.net:27017" --readPreference secondary

答案 1 :(得分:1)

您可以将mongodump--readPreference参数一起使用:

mongodump --host "<replsetname>/<node1>,<node2>,<node3>" --readPreference "secondary"

请注意:

  • 您必须提供--host parameter
  • 的副本集形式
  • 指定read preference。此示例使用secondary严格地从辅助节点转储,但也可以将其设置为secondaryPreferred,以便如果由于某种原因无法联系辅助节点,它将从主节点转储。