Pregunta ¿Cómo puedo conectarme a un servidor mongo remoto desde el terminal Mac OS?


Me gustaría caer en el caparazón de mongo en la terminal de mi MacBook. Sin embargo, estoy interesado en conectarme a una instancia de Mongo que se ejecuta en la nube (compose.io instancia a través de Heroku addon). Tengo el nombre, la contraseña, el host, el puerto y el nombre de la base de datos del MongoDB URI:

mongodb://username:password@somewhere.mongolayer.com:10011/my_database

He instalado mongodb en mi MacBook con Homebrew, no porque quiera que Mongo funcione en mi Mac, sino solo para acceder al programa mongo shell para poder conectarme a esta base de datos remota.

Sin embargo, no puedo encontrar el comando correcto para obtener el acceso total al shell que me gustaría. Usando las instrucciones encontradas aquí http://docs.mongodb.org/manual/reference/program/mongo/ (busque "remoto") Puedo obtener lo que parece una conexión, pero sin dar mi nombre de usuario o contraseña no estoy completamente conectado. Corriendo db.auth(username, password) devuelve 1 (en lugar de "autenticación falla" cuando proporciono nombre de usuario y contraseña incorrectos), pero sigo obteniendo un mensaje de error "no autorizado" al emitir el show dbs mando.


76
2017-11-08 04:52


origen


Respuestas:


Probablemente estés conectando bien, pero no tienes suficientes privilegios para ejecutar show dbs.

No necesita ejecutar db.auth si pasa la autenticación en la línea de comando:

mongo somewhere.mongolayer.com:10011/my_database -u username -p password

Una vez que te conectas, ¿puedes ver las colecciones?

> show collections

Si es así, todo está bien y simplemente no tiene privilegios de administrador en la base de datos y no puede ejecutar el show dbs


136
2017-11-08 05:24



Con Mongo 3.2 y superior solo use su cadena de conexión como está:

mongo mongodb://username:password@somewhere.mongolayer.com:10011/my_database

35
2017-07-23 09:26