如何在 Sitecore 中格式化 MongoDB 副本集的连接字符串?
How to format the connection string for a MongoDB replica set in Sitecore?
我已使用副本集为 Sitecore 配置 MongoDB。
我设置了密钥文件访问控制并添加了一个用户。
但是我在创建连接字符串时遇到了问题。
假设我的副本集名称是 rsHelloWorld
,有几个 mongod
个实例:localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021(arbitor)
username: mongo_admin
password: test@123
Sitecore 中的默认连接字符串是:
<add name="analytics" connectionString="mongodb://localhost/analytics" />
如何使用副本集和身份验证为我的 MongoDB 数据库指定连接字符串?
Sitecore xDB 使用标准 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 客户端)永远不必与它通信。
我已使用副本集为 Sitecore 配置 MongoDB。 我设置了密钥文件访问控制并添加了一个用户。 但是我在创建连接字符串时遇到了问题。
假设我的副本集名称是 rsHelloWorld
,有几个 mongod
个实例:localhost:21017,localhost:21018,localhost:21019,localhost:21020,localhost:21021(arbitor)
username: mongo_admin
password: test@123
Sitecore 中的默认连接字符串是:
<add name="analytics" connectionString="mongodb://localhost/analytics" />
如何使用副本集和身份验证为我的 MongoDB 数据库指定连接字符串?
Sitecore xDB 使用标准 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 客户端)永远不必与它通信。