我已经使用一个复制集来配置了MongoDB。我设置了密钥文件访问控制,并添加了一个用户。但我在创建连接字符串时遇到了问题。
让我们假设我的副本集名是rsHelloWorld,有几个mongod实例:localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021(arbitor)
username: mongo_admin
password: test@123Sitecore中的默认连接字符串是:
<add name="analytics" connectionString="mongodb://localhost/analytics" />如何使用副本集和身份验证为我的MongoDB数据库指定连接字符串?
发布于 2016-05-12 18:05:06
Sitecore使用标准的MongoDB connection string format。
在提供的示例中,连接字符串为:
mongodb://mongo_admin:test%40123@localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021/?replicaSet=rsHelloWorld请注意,我已将密码中的@符号替换为%40。这是因为连接字符串中的@是凭据和主机名之间的分隔符。See more here。
另外,请记住,您不必在连接字符串中指定所有服务器。您需要指定至少一个,并且在连接到它时,xDB将收到有关副本集的完整信息,包括所有包含数据的节点的地址。尽管如此,最好的做法是包括几个服务器,以确保如果其中一个服务器出现故障,应用程序仍然会找到要连接的服务器。在您的情况下,包括仲裁者是没有什么意义的,因为xDB (或任何其他MongoDB客户端)将永远不需要与它通信。
https://stackoverflow.com/questions/37186849
复制相似问题