我一直在尝试从另一台机器访问我的Mongo实例,但是我遇到了这个错误。我找不到关于whatsmyuri
错误的很多参考资料。这是我从外部机器得到的:
$ mongo <IP_ADDRESS>:27017/youtube_advertising -u user -p password
MongoDB shell version: 3.2.0
connecting to: <IP_ADDRESS>:27017/youtube_advertising
2016-02-19T17:10:02.923+0100 E QUERY [thread1] Error: network error while attempting to run command 'whatsmyuri' on host '<IP_ADDRESS>:27017' :
connect@src/mongo/shell/mongo.js:226:14
@(connect):1:6
exception: connect failed
我已经修改了
/etc/mongod.conf
文件,通过端口27017
(使用iptables
)打开了连接,并重新启动了mongo。我能够通过ssh
连接到那台机器。关于
whatsmyuri
的搜索,我在mongo上运行了这个命令:> db.runCommand( { whatsmyuri: 1 } )
{ "you" : "127.0.0.1:36990", "ok" : 1 }
我不确定端口36990
是否正确。为了防止万一,我也从那里打开了连接,但仍然没有反应。
有什么想法吗?
更新
查看/var/log/mongodb/mongod.log
,当我尝试远程连接时,这就是我得到的结果:
2016-02-19T10:41:07.292-0600 I NETWORK [initandlisten] connection accepted from <EXT_IP_ADDRESS>:51800 #2 (1 connection now open)
2016-02-19T10:41:07.310-0600 I QUERY [conn2] operation isn't supported: 2010
2016-02-19T10:41:07.310-0600 I - [conn2] Assertion: 16141:cannot translate opcode 2010