本地无法链接linux下的mongodb

今早来试着在服务上创建一个mongodb,但我本地无法链接。

mongo xxxxxxxxxx:27017/bs -u bs -p bs
MongoDB shell version v4.0.9
connecting to: mongodb://xxxxxxx:27017/bs?gssapiServiceName=mongodb
2020-03-13T13:28:37.614+0800 E QUERY    [js] Error: couldn't connect to server xxxxxxxxx:27017, connection attempt failed: SocketException: Error connecting to xxxxxxxx:27017 :: caused by :: Operation timed out :
connect@src/mongo/shell/mongo.js:343:13
@(connect):2:6
exception: connect failed

但是访问我另外一个数据库是可以的,两个数据库不在同一服务器

 mongo xxxxxxxx:27017/sea -u sea -p sea
MongoDB shell version v4.0.9
connecting to: mongodb://xxxxxxx:27017/sea?gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("e1b55e4b-61b3-4250-9dc5-f06c021fb64c") }
MongoDB server version: 4.0.10

试着摸索了一阵,发现1的mongodb直接下载解压,根目录创建一个data/db,然后命令行跑个mongod + mongo就可以了
网上找到好几个帖子说是配置mongod.conf
我记得之前也有这操作, 但是我找了半天没找到mongod.conf在哪~
自己创建,可是又不起作用,请问该怎么解决?

尝试过的解决方法

  1. /etc/mongo.conf中加入以下代码

    logappend=true    ##追加方式写入log
    dbpath=/data/db/  # 数据库路径    
    fork = true # 守护进程
    port = 27017 # 端口
    noauth = true # 不进行安全验证
    #auth = true # 进行安全验证
    bind_ip = 0.0.0.0 #绑定ip

运行后抛出错误

mongod --config /etc/mongod.conf
warning: bind_ip of 0.0.0.0 is unnecessary; listens on all ips by default
BadValue --fork has to be used with --logpath or --syslog
try 'mongod --help' for more information

说0.0.0.0是无效的,默认开启所有ip

我想本地mac上链接服务器上的数据库。
请问该如何解决这个问题?

阅读 3k
1 个回答

听上去感觉是防火墙的问题,检查一下本机和目标机器的防火墙配置;如果阿里云之类的云主机,再看一下安全组里相应端口是否开启。


P.S. 最后你贴的那个是 Warning 不是 Error,另外说的是“ 0.0.0.0 不是必要的,因为默认值就是它 ”,不是“ 0.0.0.0 是无效的 ”。

撰写回答
你尚未登录,登录后可以
  • 和开发者交流问题的细节
  • 关注并接收问题和回答的更新提醒
  • 参与内容的编辑和改进,让解决方法与时俱进
推荐问题