Couldnt connect to mongo atlas from the mongo shell, mongo compass and go mgo Driver - mongodb

I'm trying to connect mongo shell with my mongo atlas M0 cluster and ending up getting this error
Error Message
Solution I tried which didnt work:
I upgraded the monog version to 4.2 to be insync with mongo version in
atlas, didnt solve the problem getting this error mongo
"mongodb://cluster0-shard-00-02.79t7i.azure.mongodb.net:27017,cluster0-shard-00-00.79t7i.azure.mongodb.net:27017,cluster0-shard-00-01.79t7i.azure.mongodb.net:27017/testdatabase?tls=true"
MongoDB shell version v4.2.8 connecting to:
mongodb://cluster0-shard-00-02.79t7i.azure.mongodb.net:27017,cluster0-shard-00-00.79t7i.azure.mongodb.net:27017,cluster0-shard-00-01.79t7i.azure.mongodb.net:27017/testdatabase?compressors=disabled&gssapiServiceName=mongodb&tls=true
*** It looks like this is a MongoDB Atlas cluster. Please ensure that your IP whitelist allows connections from your network.
2020-08-16T00:14:57.693+0545 E QUERY [js] Error: couldn't connect
to server cluster0-shard-00-01.79t7i.azure.mongodb.net:27017,
connection attempt failed: HostUnreachable: Connection reset by peer :
connect#src/mongo/shell/mongo.js:341:17 #(connect):2:6
2020-08-16T00:14:57.695+0545 F - [main] exception: connect
failed 2020-08-16T00:14:57.695+0545 E - [main] exiting with
code 1
On trying with mgo go driver i'm getting the error as:
time="2020-08-17T15:32:32+05:45" level=debug msg="mongo host and port
:
mongodb://cluster0-shard-00-00.akidp.azure.mongodb.net:27017,cluster0-shard-00-01.akidp.azure.mongodb.net:27017,cluster0-shard-00-02.akidp.azure.mongodb.net:27017"
time="2020-08-17T15:33:32+05:45" level=error msg="Unable to connect to
mongo no reachable servers" panic: runtime error: invalid memory
address or nil pointer dereference [signal SIGSEGV: segmentation
violation code=0x1 addr=0x0 pc=0x8f3a02]
goroutine 1 [running]: gopkg.in/mgo%2ev2.(*Session).Copy(0x0,
0x7fbebca1b008)
/home/sgupta/go/pkg/mod/gopkg.in/mgo.v2#v2.0.0-20180705113604-9856a29383ce/session.go:1593
+0x22 github.optum.com/claredi/oti.git/ds.Copy(0xc001ae3a30, 0x0, 0x0) /home/sgupta/go/src/github.optum.com/claredi/oti.git/ds/ds.go:166
+0x3c github.optum.com/claredi/oti.git/ds/announcements.indexes() /home/sgupta/go/src/github.optum.com/claredi/oti.git/ds/announcements/announcements.go:47
+0xff github.optum.com/claredi/oti.git/ds.Init(0xc0000f8000, 0xc0001efe68)
/home/sgupta/go/src/github.optum.com/claredi/oti.git/ds/ds.go:98
+0x52e main.startAPIServer(0x0, 0xc000098360) /home/sgupta/go/src/github.optum.com/claredi/oti.git/api/main.go:83
+0xe98 main.main() /home/sgupta/go/src/github.optum.com/claredi/oti.git/api/main.go:26
+0x4d exit status 2
Hoping to get a resolution from the experts. Thanks in Advance :)

First, in Atlas:
Ensure the cluster itself looks healthy in "Clusters"
Go to "Network Access" and ensure your IP is allowed
Just to be safe, go to "Database Access" and create a new user with proper permissions
If your problem is similar to Cannot connect to mongodb atlas through mongo shell, it might be that your IP changed or something, and you need to allow your current IP.

Related

MongoDB starting with status error on macOS

I'm using homebrew to initialize mongodb as it follows:
brew services start mongodb-community#5.0
It starts successfully
==> Successfully started mongodb-community (label: homebrew.mxcl.mongodb-community)
However, when I type mongoto run mongodb, I keep getting connection refused:
MongoDB shell version v5.0.2
connecting to: mongodb://127.0.0.1:27017/?compressors=disabled&gssapiServiceName=mongodb
Error: couldn't connect to server 127.0.0.1:27017, connection attempt failed: SocketException: Error connecting to 127.0.0.1:27017 :: caused by :: Connection refused :
connect#src/mongo/shell/mongo.js:372:17
#(connect):2:6
exception: connect failed
exiting with code 1
So I typed brew services list to check if the mongoDB is up, and it seems it started with an error status:
Name
Status
User
Plist
mongodb-community
error
guilhermemendes
/opt/homebrew/opt/mongodb-community/...
check the following.
if you are using M1 based MacOS then install mongo db (and brew) with Rosetta.
check the IP binding on mongo config
(/usr/local/etc/mongod.conf or /opt/homebrew/etc/mongod.conf)
verify the connection string URI format - Mongo docs - connection-string-uri-format

MacOS Catalina Wont connect to MONGODB Server on Google Compute Engine

I have a problems on my Macbook 15" Catalina to access Mongodb run in docker compute engine. If i use other laptop connection work well without error or with other os like ubuntu or windows that no problems. Cant connect just in my macbook 15" with os Catalina.
Error on mongo command :
▶mongo [PublicIP-VMInstance]:[PortMongo]/admin -u username -p password
MongoDB shell version v3.6.14
connecting to: mongodb://[PublicIP-VMInstance]:[PortMongo]/admin?gssapiServiceName=mongodb
2019-11-23T18:22:30.975+0700 I NETWORK [thread1] Socket recv() Connection reset by peer [PublicIP-VMInstance]:[PortMongo]
2019-11-23T18:22:30.975+0700 I NETWORK [thread1] SocketException: remote: (NONE):0 error: SocketException socket exception [RECV_ERROR] server [[PublicIP-VMInstance]:[PortMongo]]
2019-11-23T18:22:30.975+0700 E QUERY [thread1] Error: network error while attempting to run command 'isMaster' on host '[PublicIP-VMInstance]:[PortMongo]' :
connect#src/mongo/shell/mongo.js:263:13
#(connect):1:6
exception: connect failed
show error if i use --ssl flag :
▶mongo [PublicIP-VMInstance]:[PortMongo]/admin -u username -p password --ssl --verbose
MongoDB shell version v3.6.14
connecting to: mongodb://[PublicIP-VMInstance]:[PortMongo]/admin?gssapiServiceName=mongodb
2019-11-23T11:47:19.836+0700 D NETWORK [thread1] creating new connection to:[PublicIP-VMInstance]:[PortMongo]
2019-11-23T11:47:19.839+0700 I NETWORK [thread1] Socket recv() Connection reset by peer [PublicIP-VMInstance]:[PortMongo]
2019-11-23T11:47:19.839+0700 E QUERY [thread1] Error: socket exception [RECV_ERROR] for [PublicIP-VMInstance]:[PortMongo] :
connect#src/mongo/shell/mongo.js:263:13
#(connect):1:6
2019-11-23T11:47:19.839+0700 D - [thread1] User Assertion: 12513:connect failed src/mongo/shell/shell_utils.cpp 279
2019-11-23T11:47:19.839+0700 I QUERY [thread1] MozJS GC prologue heap stats - total: 3447601 limit: 0
2019-11-23T11:47:19.840+0700 I QUERY [thread1] MozJS GC epilogue heap stats - total: 1641 limit: 0
2019-11-23T11:47:19.840+0700 I QUERY [thread1] MozJS GC prologue heap stats - total: 3937 limit: 0
2019-11-23T11:47:19.841+0700 I QUERY [thread1] MozJS GC epilogue heap stats - total: 9 limit: 0
2019-11-23T11:47:19.841+0700 D - [main] User Assertion: 12513:connect failed src/mongo/scripting/mozjs/proxyscope.cpp 302
exception: connect failed
If use GUI Client like NoSQLBooster show error :
12:53:53.307 *** Starting MongoClient.connect ***
{"options":{"appname":"NoSQLBoosterV5.2.7_125336.468","autoReconnect":true,"keepAlive":60000,"poolSize":0,"promoteLongs":false,"promoteValues":false,"reconnectTries":172800,"socketTimeoutMS":0,"sslValidate":false,"useNewUrlParser":true},"uri":"mongodb://username:******#IPPublic-VMInstance:PORTMONGO?authSource=admin"}
12:53:53.311 *** Connect Error ***
{"errorLabels":["TransientTransactionError"],"message":"failed to connect to server [IPPublic-VMInstance:PORTMONGO] on first connect [MongoNetworkError: read ECONNRESET]","name":"MongoNetworkError","stack":"MongoNetworkError: failed to connect to server [IPPublic-VMInstance:PORTMONGO] on first connect [MongoNetworkError: read ECONNRESET]\n at Pool.<anonymous> (/Applications/NoSQLBooster for MongoDB.app/Contents/Resources/app.asar/node_modules/mongodb-core/lib/topologies/server.js:431:11)\n at Pool.emit (events.js:182:13)\n at connect (/Applications/NoSQLBooster for MongoDB.app/Contents/Resources/app.asar/node_modules/mongodb-core/lib/connection/pool.js:557:14)\n at callback (/Applications/NoSQLBooster for MongoDB.app/Contents/Resources/app.asar/node_modules/mongodb-core/lib/connection/connect.js:109:5)\n at runCommand (/Applications/NoSQLBooster for MongoDB.app/Contents/Resources/app.asar/node_modules/mongodb-core/lib/connection/connect.js:129:7)\n at Connection.errorHandler (/Applications/NoSQLBooster for MongoDB.app/Contents/Resources/app.asar/node_modules/mongodb-core/lib/connection/connect.js:321:5)\n at Object.onceWrapper (events.js:273:13)\n at Connection.emit (events.js:182:13)\n at Socket.<anonymous> (/Applications/NoSQLBooster for MongoDB.app/Contents/Resources/app.asar/node_modules/mongodb-core/lib/connection/connection.js:321:10)\n at Object.onceWrapper (events.js:273:13)\n at Socket.emit (events.js:182:13)\n at emitErrorNT (internal/streams/destroy.js:82:8)\n at emitErrorAndCloseNT (internal/streams/destroy.js:50:3)\n at process._tickCallback (internal/process/next_tick.js:63:19)"}
I have try with this tutorial :
openssl problems
https://community.exploratory.io/t/mongodb-ssl-connection-error-on-mac-os-x/832 [ still not working ]
use --ssl but in other laptop work well without this options
Apple has made TLS requirements stricter in Catalina. I have a similar case where the connection from Catalina fails using the mongo cli client. I couldn't find statements about changes in behavior of SSL specifically (which I am using). They may have changed something they didn't communicate.
About Catalina TLS changes: https://support.apple.com/en-us/HT210176
If I run a VM Ubuntu on Catalina, I'm able to connect from there. Also macs with Mojave can connect just fine using the same certificates, keys, and network.
Below is the error I'm seeing. It's slightly different to yours but also something that only happens on Catalina.
mongo --host myhost.com --ssl --sslCAFile ca.pem --sslPEMKeyFile client.pem -u myuser -p
W CONTROL [main] Option: ssl is deprecated. Please use tls instead.
W CONTROL [main] Option: sslPEMKeyFile is deprecated. Please use tlsCertificateKeyFile instead.
W CONTROL [main] Option: sslCAFile is deprecated. Please use tlsCAFile instead.
MongoDB shell version v4.2.1
Enter password:
connecting to: mongodb://myhost.com:27017/?compressors=disabled&gssapiServiceName=mongodb
E NETWORK [js] SSL peer certificate validation failed: Certificate trust failure: Host name mismatch; connection rejected
E QUERY [js] Error: couldn't connect to server myhost.com:27017, connection attempt failed: SSLHandshakeFailed:
SSL peer certificate validation failed: Certificate trust failure: Host name mismatch; connection rejected :
connect#src/mongo/shell/mongo.js:341:17
#(connect):2:6
F - [main] exception: connect failed
E - [main] exiting with code 1
I suggest you try generating new certificates that match Apple's new requirements if that's at all possible. Another thing you could try would be to run a Linux VM on your Mac and see if the connection works from there. If it does, I reckon it would narrow the issue down to the certificates themselves.
Update: Docker seems to be an alternative for the VM. Using a Docker container on a Mac with Catalina I can connect to mongo just fine.
Are you certain that PublicIP-VMInstance and PortMongo are resolving to IP addresses and a port by your mongo client? I'm running MacOS X 10.15.1 (Catalina) and Mongo client 4.2.1 and connections work perfectly for me using a connection string like this:
/opt/local/bin/mongo --ssl --sslAllowInvalidCertificates --host=mongo.mydomain.com:27017 -u mongoMatt -p dont*You*Wish

Couldn't connect to server apollo.modulusmongo.net

I'm trying to connect MongoDB database on modulus.io by referencing [this][1] tutorial.
I've registered with modules .io and received the database url. (Modulus provides the database URL you need and you can use mongoose.connect to connect to it)
i.e.
MONGO URI
mongodb://<user>:<pass>#apollo.modulusmongo.net:27017/wIp4otyd
MONGO CONSOLE
mongo apollo.modulusmongo.net:27017/wIp4otyd -u <user> -p <pass>
But when I'm trying to connect it through both node.js and console its showing me following error:
C:\mongodb\bin>mongo apollo.modulusmongo.net:27017/wIp4otyd -u <my_uname> -p <my_pwd>
2016-02-04T12:01:07.097+0530 I CONTROL [main] Hotfix KB2731284 or later update is installed, no need to zero-out data files
MongoDB shell version: 3.2.1
connecting to: apollo.modulusmongo.net:27017/wIp4otyd
2016-02-04T12:01:09.455+0530 W NETWORK [thread1] Failed to connect to 52.6.181.208:27017, reason: errno:10061 No connection could be made because the target ma
chine actively refused it.
2016-02-04T12:01:09.457+0530 E QUERY [thread1] Error: couldn't connect to server apollo.modulusmongo.net:27017, connection attempt failed :
connect#src/mongo/shell/mongo.js:226:14
#(connect):1:6
exception: connect failed
Its connecting to local perfectly (mongoose.connect('mongodb://localhost/news');)
but refusing to modulus.io (mongoose.connect('mongodb://<my_uname>:<my_pwd>#apollo.modulusmongo.net:27017/wIp4otyd');)

Remote MongoLab MongoDB login failed error

I am trying to connect to a mongoLab mongoDB using mongo shell. This is the error that I am getting:
C:\Program Files\MongoDB 2.6 Standard\bin>mongo ds053332.mongolab.com:53332/stormaxdb -u abhishek -p password
MongoDB shell version: 2.6.4
connecting to: ds053332.mongolab.com:53332/stormaxdb
2015-03-18T16:44:27.740+0530 Socket recv() errno:10053 An established connection was aborted by the software in your host machine. 54.224.106.116:53332
2015-03-18T16:44:27.742+0530 SocketException: remote: 54.224.106.116:53332error: 9001 socket exception [RECV_ERROR] server [54.224.106.116:53332]
2015-03-18T16:44:27.746+0530 DBClientCursor::init call() failed
2015-03-18T16:44:27.748+0530 Error: 10276 DBClientBase::findN: transport error: ds053332.mongolab.com:53390 ns: stormaxdb.$cmd query: { getnonce: 1 } at src/mongo/sh
ell/db.js:1210
exception: login failed
I searched a lot to fix this error but did not find a concrete solution. Can anybody guide how to solve it, and why is it coming?
I faced a similar issue. It appeared that my firewall was blocking connection to mongo server. Try unblocking mongo from the firewall settings and it should work.

hack for "mongo db connection refused due to blocked port errno 10061"

I m trying connect to my db in Mongolab:
>> mongo ds123456.mongolab.com
MongoDB shell version: 2.6.1
connecting to: ds123456.mongolab.com/test
2014-12-16T14:13:41.738+0100 warning: Failed to connect to 54.74.247.101:27017, reason: errno:10061 No connection could be made because the target machine actively refused it.
2014-12-16T14:13:41.741+0100 Error: couldn't connect to server ds123456.mongolab.com:27017 (54.74.247.101), connection attempt failed at src/mongo/shell/mongo.js:148
exception: connect failed
I assume this question answers the first problem of access being blocked on this port.
The obvious solution is to contact the network admin. But I wonder if there is an alternative?
Thanks in advance.