web-dev-qa-db-fra.com

comment puis-je me connecter à un serveur mongo distant à partir d'un terminal Mac OS

Je voudrais passer dans le shell mongo dans le terminal sur mon MacBook. Cependant, je souhaite me connecter à une instance Mongo qui s'exécute dans le nuage (instance de compose.io via l'addon Heroku). J'ai le nom, le mot de passe, l'hôte, le port et le nom de la base de données provenant de l'URI MongoDB:

mongodb://username:[email protected]:10011/my_database

J'ai installé mongodb sur mon MacBook avec Homebrew, non pas parce que je veux que Mongo s'exécute sur mon Mac, mais simplement pour avoir accès au programme mongo Shell afin de se connecter à cette base de données distante.

Cependant, je ne trouve pas la bonne commande pour me procurer l'accès complet à Shell que je voudrais. Utilisation des instructions trouvées ici http://docs.mongodb.org/manual/reference/program/mongo/ (recherche de "remote") Je peux obtenir ce qui ressemble à une connexion, mais sans donner mon identifiant ou mon mot de passe Je ne suis pas complètement connecté. L'exécution de db.auth(username, password) renvoie 1 (par opposition à "auth échoue" lorsque je fournis un nom d'utilisateur et un mot de passe incorrects), mais je continue à recevoir un message d'erreur "non autorisé" lors de l'exécution de la commande show dbs.

91
jononomo

Vous vous connectez probablement bien mais ne disposez pas des privilèges suffisants pour exécuter show dbs.

Vous n'avez pas besoin de lancer db.auth si vous passez l'authentification en ligne de commande:

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

Une fois que vous vous êtes connecté, êtes-vous en mesure de voir les collections?

> show collections

Si tout va bien, vous n'avez simplement pas les privilèges d'administrateur pour la base de données et vous ne pouvez pas exécuter le show dbs

159
Ben

Avec Mongo .2 et versions supérieures , utilisez simplement votre chaîne de connexion telle quelle:

mongo mongodb://username:[email protected]:10011/my_database
47
Amio.io