Robo 3T Error : Network is unreachable
Robo 3T Error : Network is unreachable
我正在尝试将 Robo 3T 连接到我的在线数据库,但似乎无法正常工作。我可以用它连接到本地数据库。我尝试使用 MongoDB Compass 进行连接,Details 和 Auth 工作正常,我能够连接。但是当我在 Robo 3T 中连接相同的细节时,它似乎不起作用。我该如何解决?
我正在使用 Robo 3T 版本 1.1
我对 Robomongo 1.0 进行了相同的尝试,但仍然出现相同的错误
更好的解决方案是从配置文件 /etc/mongod.conf[= 中注释掉或删除 bindIp 设置10=]
您必须重新启动服务才能使更改生效
只需将 /etc/mongod.conf 中的 bind_ip 从 127.0.0.1 更改为 0.0.0.0 然后重新启动服务,它对我有用~
如果您遇到以下错误,那么您还应该检查以下内容:
图集服务器至少需要这个设置,如果你不选择它,那么你通常会得到网络无法访问的信息。
此外,如果您使用的是 Atlas,则应检查身份验证选项卡和 select SCRAM-SHA-1,但这通常会导致身份验证错误,而不是网络无法访问错误。
这意味着 mongo 服务器未启动。
您需要在终端上运行 mongod
命令启动服务器。
如果您的机器上没有安装 mongo 数据库。从 Link 下载并安装。
通过命令提示符在 windows.Go 上启动命令提示符到 Mongodb 的 bin 文件夹并键入 mongod,然后enter.Now 再次尝试访问
如上所述,这可能是由于 BindIp,如果您使用 mac 和 brew 安装它,您将不会在 /etc/mongod.conf 中找到任何东西,而是在 /usr/local/etc/mongod.conf
systemLog:
destination: file
path: /usr/local/var/log/mongodb/mongo.log
logAppend: true
storage:
dbPath: /usr/local/var/mongodb
net:
bindIp: 127.0.0.1
谨慎更改 BindIp!
运行 也是如此,要启动 MongoDB 手动使用:
mongod --config /usr/local/etc/mongod.conf
或通过键入以下命令配置在使用 launchd 登录时自动启动:
brew services start mongodb
我在本地计算机上也遇到过损坏的数据文件:
/usr/local/var/mongodb
刚刚删除它们并且它起作用了,您可以在日志中看到如下错误:
** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.6 before attempting an upgrade to 4.0; see http://dochub.mongodb.org/core/4.0-upgrade-fcv for more details.
2018-08-01T00:15:50.220+0200 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2018-08-01T00:15:50.220+0200 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2018-08-01T00:15:50.224+0200 I STORAGE [initandlisten] WiredTigerKVEngine shutting down
2018-08-01T00:15:50.303+0200 I STORAGE [initandlisten] Downgrading WiredTiger datafiles.
2018-08-01T00:15:50.501+0200 I STORAGE [initandlisten] WiredTiger message [1533075350:501686][3594:0x7fffb492e380], txn-recover: Main recovery loop: starting at 14/3712
2018-08-01T00:15:50.598+0200 I STORAGE [initandlisten] WiredTiger message [1533075350:598867][3594:0x7fffb492e380], txn-recover: Recovering log 14 through 15
2018-08-01T00:15:50.664+0200 I STORAGE [initandlisten] WiredTiger message [1533075350:663976][3594:0x7fffb492e380], txn-recover: Recovering log 15 through 15
2018-08-01T00:15:50.715+0200 I STORAGE [initandlisten] WiredTiger message [1533075350:715398][3594:0x7fffb492e380], txn-recover: Set global recovery timestamp: 0
2018-08-01T00:15:51.002+0200 I STORAGE [initandlisten] shutdown: removing fs lock...
2018-08-01T00:15:51.005+0200 I CONTROL [initandlisten] now exiting
2018-08-01T00:15:51.005+0200 I CONTROL [initandlisten] shutting down with code:62
从任务管理器启动MongoDB服务。
为我工作。
在我的例子中,mongod 和 mongo.exe 都抛出了 100 错误代码。
我在Mac上使用Robo 3T时也遇到了这个问题。我认为您需要检查一些事项以帮助您了解问题所在。
首先尝试 ping
终端中的 mongo 服务器,看看是否可以得到响应。如果是这样,那就意味着您可能在 Robo 3T 中设置了错误的 mongo 配置。
如果您无法收到响应,则说明您的网络有问题。您应该检查您的 DNS 和网络网关。例如,我的 DNS 是 172.16.*
,我的网络网关(执行 ifconig
并检查 en0
)是 172.17.*
。而且他们不属于同一个网段。 (实际上,即使他们在同一个网段,如果有人污染了你的DNS服务器,事情也不会起作用。)
这就是问题所在。您使用的 DNS 无法正确解释您的 mongo 主机。可能有人污染了此 DNS 服务器。
您可以尝试 ping xxx(your mongo-server) @8.8.8.8
,它将使用 8.8.8.8 作为您的 DNS。如果一切顺利,那么你就得到了解决方案。
Sollution:为您的设备手动设置 DNS。例如,Google 的 public DNS,8.8.8.8 和 8.8.4.4。
实际上,如果您运行 dig xxx(your mongo-server)
手动设置DNS前后,您可能会发现响应Ip不同。
我有这种症状,最终解决方案尚未包含在此处的答案中。
我正在尝试使用 Robo 3T 连接到云中的 mongo 实例,我收到了 "Network is unreachable" 消息。
奇怪的是,我可以在同一个 machine 上使用 Parallels VM 内的 Robo 3T 进行连接。
这促使我在我的 mac 上试用完整的 Studio 3T,它也可以很好地连接。
最终,我发现是来自旧版 Robomongo 的旧点文件导致了该问题。 rm -rf .config/robomongo
成功了。现在我可以连接普通的免费Robo 3T
我猜我的 Robomongo 试用期已经过期了,也许是在它免费之前?
对不起,如果我迟到了,但我 运行整个上午都在处理同一个问题。您必须先完成一些事情,以便轻松排除故障
- 从终端重新启动数据库,在正确的路径中点击数据库并让它 运行 在后台。
- 如果数据库是 运行ning 则检查本地主机地址,并将其替换为 127.0.0.1 而不是通用 localhost:27017
这可能会有所帮助,我的机器人 mongo 服务器托管在云中。我已经设置了 mongodb 但无法使用 Robo3T 连接到它。不断告诉网络超时(这意味着网络问题)。阅读了很多书以找出原因,突然我想起我的云网络中也有一个安全组。只需在允许传入列表中包含 mongod 端口 27017。就是这样!
进入 MongoDB 和 运行 mongod
命令的 bin 文件夹:- C:\Program Files\MongoDB\Server.2\bin
然后在这个位置打开命令提示符和 运行 mongod
命令,然后尝试与 Robo 3T 连接。这个对我有用。
同时在 C:
驱动器中创建数据文件夹,然后在数据文件夹中创建一个名为 db 的文件夹。就是这样。
您在启动 Robo 3T 应用程序时可能会遇到以下问题:
只需按照以下步骤操作即可:
- 我使用的是 MacOS,因此在您的终端中使用以下命令启动您的 MonogDB 服务器:
/Users/vanthoff/mongodb/bin/mongod --dbpath=/Users/vanthoff/mongodb-data
mongodb-data:
您必须创建用于存储所有数据的目录。
- 启动服务器后,转到
RoboT 3T Application
和connect to the server
。它会开始工作。您也可以通过双击 MongoDB 服务器名称来 Test
它。它开始工作时看起来像这样:
我希望它也对你有用。朋友..!!
转到services.msc,然后搜索mongodb 服务器,然后运行 处于运行ning 状态的服务器。
我用这种方法解决了我的错误。
对我来说,重新安装 mongodb 并重新启动我的电脑工作正常。
我正在尝试将 Robo 3T 连接到我的在线数据库,但似乎无法正常工作。我可以用它连接到本地数据库。我尝试使用 MongoDB Compass 进行连接,Details 和 Auth 工作正常,我能够连接。但是当我在 Robo 3T 中连接相同的细节时,它似乎不起作用。我该如何解决? 我正在使用 Robo 3T 版本 1.1 我对 Robomongo 1.0 进行了相同的尝试,但仍然出现相同的错误
更好的解决方案是从配置文件 /etc/mongod.conf[= 中注释掉或删除 bindIp 设置10=]
您必须重新启动服务才能使更改生效
只需将 /etc/mongod.conf 中的 bind_ip 从 127.0.0.1 更改为 0.0.0.0 然后重新启动服务,它对我有用~
如果您遇到以下错误,那么您还应该检查以下内容:
图集服务器至少需要这个设置,如果你不选择它,那么你通常会得到网络无法访问的信息。
此外,如果您使用的是 Atlas,则应检查身份验证选项卡和 select SCRAM-SHA-1,但这通常会导致身份验证错误,而不是网络无法访问错误。
这意味着 mongo 服务器未启动。
您需要在终端上运行 mongod
命令启动服务器。
如果您的机器上没有安装 mongo 数据库。从 Link 下载并安装。
通过命令提示符在 windows.Go 上启动命令提示符到 Mongodb 的 bin 文件夹并键入 mongod,然后enter.Now 再次尝试访问
如上所述,这可能是由于 BindIp,如果您使用 mac 和 brew 安装它,您将不会在 /etc/mongod.conf 中找到任何东西,而是在 /usr/local/etc/mongod.conf
systemLog:
destination: file
path: /usr/local/var/log/mongodb/mongo.log
logAppend: true
storage:
dbPath: /usr/local/var/mongodb
net:
bindIp: 127.0.0.1
谨慎更改 BindIp!
运行 也是如此,要启动 MongoDB 手动使用:
mongod --config /usr/local/etc/mongod.conf
或通过键入以下命令配置在使用 launchd 登录时自动启动:
brew services start mongodb
我在本地计算机上也遇到过损坏的数据文件:
/usr/local/var/mongodb
刚刚删除它们并且它起作用了,您可以在日志中看到如下错误:
** IMPORTANT: UPGRADE PROBLEM: The data files need to be fully upgraded to version 3.6 before attempting an upgrade to 4.0; see http://dochub.mongodb.org/core/4.0-upgrade-fcv for more details.
2018-08-01T00:15:50.220+0200 I NETWORK [initandlisten] shutdown: going to close listening sockets...
2018-08-01T00:15:50.220+0200 I NETWORK [initandlisten] removing socket file: /tmp/mongodb-27017.sock
2018-08-01T00:15:50.224+0200 I STORAGE [initandlisten] WiredTigerKVEngine shutting down
2018-08-01T00:15:50.303+0200 I STORAGE [initandlisten] Downgrading WiredTiger datafiles.
2018-08-01T00:15:50.501+0200 I STORAGE [initandlisten] WiredTiger message [1533075350:501686][3594:0x7fffb492e380], txn-recover: Main recovery loop: starting at 14/3712
2018-08-01T00:15:50.598+0200 I STORAGE [initandlisten] WiredTiger message [1533075350:598867][3594:0x7fffb492e380], txn-recover: Recovering log 14 through 15
2018-08-01T00:15:50.664+0200 I STORAGE [initandlisten] WiredTiger message [1533075350:663976][3594:0x7fffb492e380], txn-recover: Recovering log 15 through 15
2018-08-01T00:15:50.715+0200 I STORAGE [initandlisten] WiredTiger message [1533075350:715398][3594:0x7fffb492e380], txn-recover: Set global recovery timestamp: 0
2018-08-01T00:15:51.002+0200 I STORAGE [initandlisten] shutdown: removing fs lock...
2018-08-01T00:15:51.005+0200 I CONTROL [initandlisten] now exiting
2018-08-01T00:15:51.005+0200 I CONTROL [initandlisten] shutting down with code:62
从任务管理器启动MongoDB服务。 为我工作。
在我的例子中,mongod 和 mongo.exe 都抛出了 100 错误代码。
我在Mac上使用Robo 3T时也遇到了这个问题。我认为您需要检查一些事项以帮助您了解问题所在。
首先尝试 ping
终端中的 mongo 服务器,看看是否可以得到响应。如果是这样,那就意味着您可能在 Robo 3T 中设置了错误的 mongo 配置。
如果您无法收到响应,则说明您的网络有问题。您应该检查您的 DNS 和网络网关。例如,我的 DNS 是 172.16.*
,我的网络网关(执行 ifconig
并检查 en0
)是 172.17.*
。而且他们不属于同一个网段。 (实际上,即使他们在同一个网段,如果有人污染了你的DNS服务器,事情也不会起作用。)
这就是问题所在。您使用的 DNS 无法正确解释您的 mongo 主机。可能有人污染了此 DNS 服务器。
您可以尝试 ping xxx(your mongo-server) @8.8.8.8
,它将使用 8.8.8.8 作为您的 DNS。如果一切顺利,那么你就得到了解决方案。
Sollution:为您的设备手动设置 DNS。例如,Google 的 public DNS,8.8.8.8 和 8.8.4.4。
实际上,如果您运行 dig xxx(your mongo-server)
手动设置DNS前后,您可能会发现响应Ip不同。
我有这种症状,最终解决方案尚未包含在此处的答案中。
我正在尝试使用 Robo 3T 连接到云中的 mongo 实例,我收到了 "Network is unreachable" 消息。
奇怪的是,我可以在同一个 machine 上使用 Parallels VM 内的 Robo 3T 进行连接。
这促使我在我的 mac 上试用完整的 Studio 3T,它也可以很好地连接。
最终,我发现是来自旧版 Robomongo 的旧点文件导致了该问题。 rm -rf .config/robomongo
成功了。现在我可以连接普通的免费Robo 3T
我猜我的 Robomongo 试用期已经过期了,也许是在它免费之前?
对不起,如果我迟到了,但我 运行整个上午都在处理同一个问题。您必须先完成一些事情,以便轻松排除故障
- 从终端重新启动数据库,在正确的路径中点击数据库并让它 运行 在后台。
- 如果数据库是 运行ning 则检查本地主机地址,并将其替换为 127.0.0.1 而不是通用 localhost:27017
这可能会有所帮助,我的机器人 mongo 服务器托管在云中。我已经设置了 mongodb 但无法使用 Robo3T 连接到它。不断告诉网络超时(这意味着网络问题)。阅读了很多书以找出原因,突然我想起我的云网络中也有一个安全组。只需在允许传入列表中包含 mongod 端口 27017。就是这样!
进入 MongoDB 和 运行 mongod
命令的 bin 文件夹:- C:\Program Files\MongoDB\Server.2\bin
然后在这个位置打开命令提示符和 运行 mongod
命令,然后尝试与 Robo 3T 连接。这个对我有用。
同时在 C:
驱动器中创建数据文件夹,然后在数据文件夹中创建一个名为 db 的文件夹。就是这样。
您在启动 Robo 3T 应用程序时可能会遇到以下问题:
只需按照以下步骤操作即可:
- 我使用的是 MacOS,因此在您的终端中使用以下命令启动您的 MonogDB 服务器:
/Users/vanthoff/mongodb/bin/mongod --dbpath=/Users/vanthoff/mongodb-data
mongodb-data:
您必须创建用于存储所有数据的目录。
- 启动服务器后,转到
RoboT 3T Application
和connect to the server
。它会开始工作。您也可以通过双击 MongoDB 服务器名称来Test
它。它开始工作时看起来像这样:
我希望它也对你有用。朋友..!!
转到services.msc,然后搜索mongodb 服务器,然后运行 处于运行ning 状态的服务器。 我用这种方法解决了我的错误。
对我来说,重新安装 mongodb 并重新启动我的电脑工作正常。