2
votes

Impossible de connecter le shell Mongo à Mongo Atlas M0 en utilisant mongodb + srv

J'essaie de me connecter à mon cluster MongoDB Atlas Cloud via la connexion mongo + srv comme ceci:

mongo --version
MongoDB shell version v4.0.5
git version: 3739429dd92b92d1b0ab120911a23d50bf03c412
allocator: system
modules: none
build environment:
    distarch: x86_64
    target_arch: x86_64

Je reçois cette réponse: p >

DNSHostNotFound: Failed to look up service "_mongodb._tcp.cluster0-mhzdc.mongodb.net": Undefined error: 0
try 'mongo --help' for more information

J'utilise la version suivante du client Mongo:

mongo "mongodb+srv://cluster0-mhzdc.mongodb.net/test" --username myuser

Je ne trouve aucune résolution en ligne. Des idées ce qui ne va pas? Est-ce un bogue dans la version donnée du client shell Mongo?


0 commentaires

3 Réponses :


3
votes

Cela ressemble au bogue 34117, toujours non résolu:

https: //jira.mongodb .org / parcourir / SERVER-34117

Pour contourner le bogue, vérifiez si vous avez un résolveur DNS actif sur votre notebook. Sous Windows:

sudo killall -HUP mDNSResponder;sudo killall mDNSResponderHelper;sudo dscacheutil -flushcache

pour voir le cache actuel du résolveur DNS. Vous pouvez même essayer d'effacer le cache avec la commande:

sudo systemctl start bind9

et réessayer. Si vous travaillez sur Linux ubuntu, essayez la commande:

sudo apt update
sudo apt install bind9 bind9utils bind9-doc bind9-host

pour vérifier si le logiciel de résolution DNS est déjà installé. Sinon:

named -v

pour installer les packages nécessaires, puis démarrez le service:

ipconfig /flushdns

et réessayez. P >

Sous Mac OSX, la commande est:

ipconfig /displayDNS


2 commentaires

Cela l'a fait! Merci! Je suis sur OSX, je vais donc ajouter la commande pour vider le DNS sur cet OS également.


DNS utilisant Spectrum bloque les requêtes srv adressées à MongoDB Atlas. J'ai dû changer mes serveurs DNS en 8.8.8.8 de Google



3
votes

La même chose m'arrive, mais juste après avoir changé de fournisseur d'accès Internet. Avant, je pouvais me connecter à mongo atlas sans problème.

Je suppose que cela se produit parce que le résolveur DNS de mon fournisseur d'accès Internet n'a pas pu résoudre l'URI pour se connecter à l'atlas mongodb.

La solution -> Changer de résolveur DNS sur mon PC:

  1. Ouvrez le panneau de configuration.
  2. Cliquez sur Afficher l'état et les tâches du réseau
  3. Cliquez sur Modifier les paramètres de l'adaptateur dans la partie gauche de la fenêtre.
  4. Double-cliquez sur l'icône de la connexion Internet que vous utilisez.
  5. Cliquez sur le bouton Propriétés.
  6. Cliquez et sélectionnez Internet Protocol Version 4 (TCP / IPv4) et cliquez sur Propriétés.
  7. Si ce n'est pas déjà fait, sélectionnez l'option Utiliser les adresses de serveur DNS suivantes.
  8. Saisissez les nouvelles adresses DNS, cliquez sur OK et fermez toutes les autres fenêtres.

J'ai utilisé google public dns 8.8.8.8.

Après cela, je pourrais me connecter à nouveau avec mon mongo shell ou boussole à mongo atlas.

J'espère que cela aide quelqu'un ..


0 commentaires

0
votes

J'ai également eu ce problème avec Comcast Xfinity. Pour ceux qui exécutent Ubuntu 18.04 ou similaire, j'ai dû modifier (vous aurez besoin des autorisations root) le fichier /etc/dhcp/dhclient.conf , et ajouter à la ligne suivante: remplace les serveurs de noms de domaine 8.8.8.8, 8.8.4.4; J'espère que cela aide quelqu'un, m'a pris trop de temps pour le comprendre. :-)


1 commentaires

DNS utilisant Spectrum bloque les requêtes srv adressées à MongoDB Atlas. J'ai dû changer mes serveurs DNS en 8.8.8.8 de Google