如何为 mongo C 驱动程序构造带有用户名密码的 URI。
How to construct a URI with username password for mongo C driver.
我正在使用 mongo 3.0.8。我有一个经过身份验证的用户管理员,密码为 admin。我可以按如下方式连接到 mongo shell。
mongo admin -u amdin -p amdin
但是,我尝试使用以下 C 代码进行连接。这给了我一个错误
WARNING: client: Failed to connect to: ipv4 127.0.0.1:27017,
error: 111, Connection refused
char URI[256];
snprintf(URI,256,"mongodb://admin:admin@127.0.0.1:27017/?authSource=admin");
mongoc_client_t *client = mongoc_client_new(URI);
错误 error: 111, Connection refused
是网络错误。
您的 URI 希望找到侦听同一台机器 (127.0.0.1) 端口 27017 的服务器。可能的问题:
- 服务器没有运行
- 服务器不在该端口上
- 服务器绑定到本机"real ip address"。
- 有本地防火墙(例如 iptables)阻止访问
- 可能是 SELinux 问题?
如果这是一个 Linux 框,这些命令可能有助于诊断:
netstat -an -A inet | grep LISTEN
/sbin/iptables -L
我正在使用 mongo 3.0.8。我有一个经过身份验证的用户管理员,密码为 admin。我可以按如下方式连接到 mongo shell。
mongo admin -u amdin -p amdin
但是,我尝试使用以下 C 代码进行连接。这给了我一个错误
WARNING: client: Failed to connect to: ipv4 127.0.0.1:27017, error: 111, Connection refused
char URI[256];
snprintf(URI,256,"mongodb://admin:admin@127.0.0.1:27017/?authSource=admin");
mongoc_client_t *client = mongoc_client_new(URI);
错误 error: 111, Connection refused
是网络错误。
您的 URI 希望找到侦听同一台机器 (127.0.0.1) 端口 27017 的服务器。可能的问题:
- 服务器没有运行
- 服务器不在该端口上
- 服务器绑定到本机"real ip address"。
- 有本地防火墙(例如 iptables)阻止访问
- 可能是 SELinux 问题?
如果这是一个 Linux 框,这些命令可能有助于诊断:
netstat -an -A inet | grep LISTEN
/sbin/iptables -L