RMongo:使用端口转发连接到 mongoDB

Posted

技术标签:

【中文标题】RMongo:使用端口转发连接到 mongoDB【英文标题】:RMongo: Connect to mongoDB using port forwarding 【发布时间】:2017-03-20 18:20:12 【问题描述】:

我使用这样的端口转发连接到 mongodb 服务器:

ssh -i key.pem -Nf -L 27018:xx.xxx.xxx.xxx:27017 ubuntu@xx.xxx.xxx.xxx
mongo -u user -p pass --authenticationDatabase "db" --port 27018

然后我运行 R 连接并查询数据库:

library(RMongo)
mg1 <- mongoDbConnect(dbName = 'db', host = 'xx.xxx.xxx.xxx', port = 27018)
auth <- dbAuthenticate(rmongo.object = mg1, username = 'user', password = 'pass')

这在验证时给我一个错误:

Error in .jcall(rmongo.object@javaMongo, "Z", "dbAuthenticate", username,  : 
  com.mongodb.MongoException$Network: IOException authenticating the connection

没有端口转发,我的凭据工作:

library(RMongo)
mg1 <- mongoDbConnect(dbName = 'db', host = 'xx.xxx.xxx.xxx', port = 27017)
auth <- dbAuthenticate(rmongo.object = mg1, username = 'user', password = 'pass')

如何在mongoDbconnect 中设置我的端口?

谢谢!

【问题讨论】:

【参考方案1】:

好的,这行得通。不需要把主机,因为现在我们映射到localhost

library(RMongo)
mg1 <- mongoDbConnect(dbName = 'db', host = 'localhost', port = '27018')
auth <- dbAuthenticate(rmongo.object = mg1, username = 'user', password = 'pass')

【讨论】:

以上是关于RMongo:使用端口转发连接到 mongoDB的主要内容,如果未能解决你的问题,请参考以下文章

如何修复 ngrok 转发端口?

端口已转发,但仍无法连接到 XAMPP

Python套接字通过端口转发连接到服务器

无法连接到运行 MySQL 的端口转发 Pod

在安全服务器中连接到 MongoDB

[原创]SSH 隧道转发