转储远程数据库:失败:连接到数据库服务器时出错:没有可访问的服务器

Sof*_*mur 5 ssl mongodb mongorestore mongodump mongoimport

我在 中有一个数据库www.myweb.io,其中有SSL. mongo 的版本2.6.12在服务器上:本地的 mongo 版本是3.4.1. 我想把它转储到我的本地机器上,修改它,然后恢复回来。

我试过

mongodump --host www.myweb.io --port 22 --username myname --password "mypassword"
Run Code Online (Sandbox Code Playgroud)

它给了我一个错误:

2017-11-20T20:57:07.775+0100    Failed: error connecting to db server: no reachable servers
Run Code Online (Sandbox Code Playgroud)

有谁知道我应该设置什么主机和帖子?

PS:在我的本地主机中,我可以使用 Robo 3T 中的以下设置连接到数据库:

1) 在 下Connection,指定localhost:27017

2) 在 下SSH,检查Use SSH tunnel,指定xxx.xx.xx.xx:22SSH Address

/etc/nginx/sites-enabled/myweb.io,有listen 443 ssl

Zar*_*tra 5

  1. 您没有通过 SSL 或 TLS 连接到数据库。

  2. 使用 ssh 隧道建立与 mongodb 的连接

    ssh -N -L 27018:localhost:27017 user@www.myweb.io

您可以指定-f让 ssh 在后台运行

  1. 验证隧道是否正常工作

使用 mongodb

mongo --port 27018
Run Code Online (Sandbox Code Playgroud)

或者远程登录

telnet localhost 27018
Run Code Online (Sandbox Code Playgroud)
  1. 转储数据库

    mongodump --host 127.0.0.1 --port 27018 --db <dbName>

  2. 将其恢复到某处,进行修改

  3. 转储您的本地修改

  4. 重新应用本地修改远程,例如使用mongorestoremongoimport