Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Server selection timed out after 10000 ms - Cannot connect Compass to mongoDB on localhost

I'm studying about MongoDB and trying to connect Compass to my db on my local pc but keep getting the error "Server selection timed out after 10000 ms" on Compass everytime,

enter image description here

here is the log in my terminal :

    ~$ mongod
2019-09-30T08:51:56.372+0700 I  CONTROL  [main] Automatically disabling TLS 1.0, to force-enable TLS 1.0 specify --sslDisabledProtocols 'none'
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten] MongoDB starting : pid=4661 port=27017 dbpath=/data/db 64-bit host=dell
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten] db version v4.2.0
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten] git version: a4b751dcf51dd249c5865812b390cfd1c0129c30
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten] OpenSSL version: OpenSSL 1.1.1  11 Sep 2018
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten] allocator: tcmalloc
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten] modules: none
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten] build environment:
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten]     distmod: ubuntu1804
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten]     distarch: x86_64
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten]     target_arch: x86_64
2019-09-30T08:51:56.377+0700 I  CONTROL  [initandlisten] options: {}
2019-09-30T08:51:56.377+0700 I  STORAGE  [initandlisten] Detected data files in /data/db created by the 'wiredTiger' storage engine, so setting the active storage engine to 'wiredTiger'.
2019-09-30T08:51:56.377+0700 I  STORAGE  [initandlisten] 
2019-09-30T08:51:56.377+0700 I  STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2019-09-30T08:51:56.377+0700 I  STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2019-09-30T08:51:56.377+0700 I  STORAGE  [initandlisten] wiredtiger_open config: create,cache_size=3427M,cache_overflow=(file_max=0M),session_max=33000,eviction=(threads_min=4,threads_max=4),config_base=false,statistics=(fast),log=(enabled=true,archive=true,path=journal,compressor=snappy),file_manager=(close_idle_time=100000),statistics_log=(wait=0),verbose=[recovery_progress,checkpoint_progress],
2019-09-30T08:51:57.030+0700 I  STORAGE  [initandlisten] WiredTiger message [1569808317:30575][4661:0x7f5edea92b00], txn-recover: Recovering log 4 through 5
2019-09-30T08:51:57.072+0700 I  STORAGE  [initandlisten] WiredTiger message [1569808317:72698][4661:0x7f5edea92b00], txn-recover: Recovering log 5 through 5
2019-09-30T08:51:57.130+0700 I  STORAGE  [initandlisten] WiredTiger message [1569808317:130714][4661:0x7f5edea92b00], txn-recover: Main recovery loop: starting at 4/6144 to 5/256
2019-09-30T08:51:57.209+0700 I  STORAGE  [initandlisten] WiredTiger message [1569808317:209489][4661:0x7f5edea92b00], txn-recover: Recovering log 4 through 5
2019-09-30T08:51:57.292+0700 I  STORAGE  [initandlisten] WiredTiger message [1569808317:291996][4661:0x7f5edea92b00], txn-recover: Recovering log 5 through 5
2019-09-30T08:51:57.340+0700 I  STORAGE  [initandlisten] WiredTiger message [1569808317:340285][4661:0x7f5edea92b00], txn-recover: Set global recovery timestamp: (0,0)
2019-09-30T08:51:57.597+0700 I  RECOVERY [initandlisten] WiredTiger recoveryTimestamp. Ts: Timestamp(0, 0)
2019-09-30T08:51:57.601+0700 I  STORAGE  [initandlisten] Timestamp monitor starting
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] 
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] 
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] ** WARNING: This server is bound to localhost.
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          Remote systems will be unable to connect to this server. 
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          Start the server with --bind_ip <address> to specify which IP 
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          addresses it should serve responses from, or with --bind_ip_all to
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          bind to all interfaces. If this behavior is desired, start the
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          server with --bind_ip 127.0.0.1 to disable this warning.
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] 
2019-09-30T08:51:57.681+0700 I  SHARDING [initandlisten] Marking collection local.system.replset as collection version: <unsharded>
2019-09-30T08:51:57.681+0700 I  STORAGE  [initandlisten] Flow Control is enabled on this deployment.
2019-09-30T08:51:57.681+0700 I  SHARDING [initandlisten] Marking collection admin.system.roles as collection version: <unsharded>
2019-09-30T08:51:57.681+0700 I  SHARDING [initandlisten] Marking collection admin.system.version as collection version: <unsharded>
2019-09-30T08:51:57.682+0700 I  SHARDING [initandlisten] Marking collection local.startup_log as collection version: <unsharded>
2019-09-30T08:51:57.682+0700 I  FTDC     [initandlisten] Initializing full-time diagnostic data capture with directory '/data/db/diagnostic.data'
2019-09-30T08:51:57.683+0700 I  SHARDING [LogicalSessionCacheRefresh] Marking collection config.system.sessions as collection version: <unsharded>
2019-09-30T08:51:57.684+0700 I  NETWORK  [initandlisten] Listening on /tmp/mongodb-27017.sock
2019-09-30T08:51:57.684+0700 I  NETWORK  [initandlisten] Listening on 127.0.0.1
2019-09-30T08:51:57.684+0700 I  SHARDING [LogicalSessionCacheReap] Marking collection config.transactions as collection version: <unsharded>
2019-09-30T08:51:57.684+0700 I  NETWORK  [initandlisten] waiting for connections on port 27017
2019-09-30T08:56:56.140+0700 I  NETWORK  [listener] connection accepted from 127.0.0.1:59152 #1 (1 connection now open)
2019-09-30T08:56:56.142+0700 I  NETWORK  [conn1] received client metadata from 127.0.0.1:59152 conn1: { driver: { name: "nodejs-core", version: "3.2.7" }, os: { type: "Linux", name: "linux", architecture: "x64", version: "5.0.0-29-generic" }, platform: "Node.js v10.2.0, LE", application: { name: "MongoDB Compass" } }
2019-09-30T08:56:56.143+0700 I  NETWORK  [conn1] end connection 127.0.0.1:59152 (0 connections now open)

Actually I cannot see any other error so I dont know how to google.

As you can see, the mongo receive client request from compass but it closed immediately

2019-09-30T08:51:57.684+0700 I  NETWORK  [initandlisten] Listening on /tmp/mongodb-27017.sock
2019-09-30T08:51:57.684+0700 I  NETWORK  [initandlisten] Listening on 127.0.0.1
2019-09-30T08:51:57.684+0700 I  SHARDING [LogicalSessionCacheReap] Marking collection config.transactions as collection version: <unsharded>
2019-09-30T08:51:57.684+0700 I  NETWORK  [initandlisten] waiting for connections on port 27017
2019-09-30T08:56:56.140+0700 I  NETWORK  [listener] connection accepted from 127.0.0.1:59152 #1 (1 connection now open)
2019-09-30T08:56:56.142+0700 I  NETWORK  [conn1] received client metadata from 127.0.0.1:59152 conn1: { driver: { name: "nodejs-core", version: "3.2.7" }, os: { type: "Linux", name: "linux", architecture: "x64", version: "5.0.0-29-generic" }, platform: "Node.js v10.2.0, LE", application: { name: "MongoDB Compass" } }
2019-09-30T08:56:56.143+0700 I  NETWORK  [conn1] end connection 127.0.0.1:59152 (0 connections now open)
=

Both Compass and MongoDB are running in the same machine, that runs on Ubuntu 18.04

here is another terminal that I run 'mongo' command

~$ mongo
MongoDB shell version v4.2.0
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Implicit session: session { "id" : UUID("c60d27ad-75d1-4a8c-83c8-6bb5482fd745") }
MongoDB server version: 4.2.0
Server has startup warnings: 
2019-09-30T08:51:56.377+0700 I  STORAGE  [initandlisten] 
2019-09-30T08:51:56.377+0700 I  STORAGE  [initandlisten] ** WARNING: Using the XFS filesystem is strongly recommended with the WiredTiger storage engine
2019-09-30T08:51:56.377+0700 I  STORAGE  [initandlisten] **          See http://dochub.mongodb.org/core/prodnotes-filesystem
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] 
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] ** WARNING: Access control is not enabled for the database.
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          Read and write access to data and configuration is unrestricted.
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] 
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] ** WARNING: This server is bound to localhost.
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          Remote systems will be unable to connect to this server. 
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          Start the server with --bind_ip <address> to specify which IP 
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          addresses it should serve responses from, or with --bind_ip_all to
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          bind to all interfaces. If this behavior is desired, start the
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] **          server with --bind_ip 127.0.0.1 to disable this warning.
2019-09-30T08:51:57.672+0700 I  CONTROL  [initandlisten] 
---
Enable MongoDB's free cloud-based monitoring service, which will then receive and display
metrics about your deployment (disk utilization, CPU, operation statistics, etc).

The monitoring data will be available on a MongoDB website with a unique URL accessible to you
and anyone you share the URL with. MongoDB may use this information to make product
improvements and to suggest MongoDB products and deployment options to you.

To enable free monitoring, run the following command: db.enableFreeMonitoring()
To permanently disable this reminder, run the following command: db.disableFreeMonitoring()
---

> 

Thanks for reading,

like image 882
Thinh NV Avatar asked Sep 30 '19 02:09

Thinh NV


Video Answer


2 Answers

look like I have to type 127.0.0.1 instead keep default and everything is working,

enter image description here

Update: After stuck in slow connection when I connect to my db on localhost, I finally find out what happened in this situation,

If we let the hostname is localhost, it takes a long long time to connect ( more than 10s ) that why it makes the connection time out

We have to change the localhost is 127.0.0.1 and it will be as fast as the wind.

The same thing happened if you let the connection string in Node.js is 127.0.0.1 instead of localhost

before:

The server is running in port 6969 !
DB connection succesful! 10046.88992600143 ms

after:

The server is running in port 6969!
DB connection succesful! 43.67024099826813 ms

More info you can get in here: https://github.com/Automattic/mongoose/issues/6211

Mongoose docs also said about that:

If connecting fails on your machine, try using 127.0.0.1 instead of localhost. https://mongoosejs.com/docs/connections.html

like image 152
Thinh NV Avatar answered Nov 15 '22 03:11

Thinh NV


There is a simple solution... First go to your task manager app if you can't find it just search for task manager on your search bar....then go to the services at the top of the toolbar in task manager then scroll down and look for mongodb ...now right click on mongodb and click start ..

like image 25
Mitch.json Avatar answered Nov 15 '22 04:11

Mitch.json