J'utilise une version de serveur mongo db version shell MongoDB v4.0.16 installée sur une instance EC2.
Je peux accéder à l'instance à l'aide de la commande mongo
error parsing command line options: error parsing uri (mongodb+srv://dxxxxxxx:xxxxxx[]@cluster0-vxcen.gcp.mongodb.net/xxxxxxxxxx): lookup cluster0-vxcen.gcp.mongodb.net on 127.0.0.53:53: cannot unmarshal DNS message
J'essaye de me connecter à un mongo db Atlas pour obtenir la base de données en utilisant mongodump
mongodump --uri="mongodb+srv://dxxxxxxx:xxxxxx[][]@cluster0-vxcen.gcp.mongodb.net/xxxxxxxxxx"
Je rencontre des problèmes avec
mongo mongodb+srv://dxxxxxxx:xxxxxx[][]@cluster0-vxcen.gcp.mongodb.net MongoDB shell version v4.0.16 connecting to: mongodb://cluster0-shard-00-02-vxcen.gcp.mongodb.net.:27017,cluster0-shard-00-01-vxcen.gcp.mongodb.net.:27017,cluster0-shard-00-00-vxcen.gcp.mongodb.net.:27017/?authSource=admin&gssapiServiceName=mongodb&replicaSet=Cluster0-shard-0&ssl=true 2020-03-05T09:02:45.265+0000 I NETWORK [js] Starting new replica set monitor for Cluster0-shard-0/cluster0-shard-00-02-vxcen.gcp.mongodb.net.:27017,cluster0-shard-00-01-vxcen.gcp.mongodb.net.:27017,cluster0-shard-00-00-vxcen.gcp.mongodb.net.:27017 2020-03-05T09:02:45.604+0000 I NETWORK [ReplicaSetMonitor-TaskExecutor] Successfully connected to cluster0-shard-00-00-vxcen.gcp.mongodb.net.:27017 (1 connections now open to cluster0-shard-00-00-vxcen.gcp.mongodb.net.:27017 with a 5 second timeout) 2020-03-05T09:02:45.607+0000 I NETWORK [js] Successfully connected to cluster0-shard-00-01-vxcen.gcp.mongodb.net.:27017 (1 connections now open to cluster0-shard-00-01-vxcen.gcp.mongodb.net.:27017 with a 5 second timeout) 2020-03-05T09:02:45.707+0000 I NETWORK [js] changing hosts to Cluster0-shard-0/cluster0-shard-00-00-vxcen.gcp.mongodb.net:27017,cluster0-shard-00-01-vxcen.gcp.mongodb.net:27017,cluster0-shard-00-02-vxcen.gcp.mongodb.net:27017 from Cluster0-shard-0/cluster0-shard-00-00-vxcen.gcp.mongodb.net.:27017,cluster0-shard-00-01-vxcen.gcp.mongodb.net.:27017,cluster0-shard-00-02-vxcen.gcp.mongodb.net.:27017 2020-03-05T09:02:46.010+0000 I NETWORK [js] Successfully connected to cluster0-shard-00-00-vxcen.gcp.mongodb.net:27017 (1 connections now open to cluster0-shard-00-00-vxcen.gcp.mongodb.net:27017 with a 5 second timeout) 2020-03-05T09:02:46.028+0000 I NETWORK [ReplicaSetMonitor-TaskExecutor] Successfully connected to cluster0-shard-00-01-vxcen.gcp.mongodb.net:27017 (1 connections now open to cluster0-shard-00-01-vxcen.gcp.mongodb.net:27017 with a 5 second timeout) 2020-03-05T09:02:46.439+0000 I NETWORK [js] Successfully connected to cluster0-shard-00-02-vxcen.gcp.mongodb.net:27017 (1 connections now open to cluster0-shard-00-02-vxcen.gcp.mongodb.net:27017 with a 5 second timeout) Implicit session: session { "id" : UUID("1c7432d5-e09c-45f8-8d84-d47e4f572cbf") } MongoDB server version: 4.2.3 WARNING: shell and server versions do not match Error while trying to show server startup warnings: user is not allowed to do action [getLog] on [admin.] MongoDB Enterprise Cluster0-shard-0:PRIMARY>
3 Réponses :
Ceci est juste un cas de serveur DNS incompatible.
Localisez le fichier /etc/resolv.conf
et remplacez le serveur de noms par 8.8.8.8
, et tout devrait fonctionner 8.8.8.8
. Si cela ne fonctionne pas, essayez 1.1.1.1
.
Sur Ubuntu 18.04, c'est /etc/resolv.conf
Ce problème est similaire à celui signalé ici . Le correctif pour changer resolv.conf comme ci-dessus ne semble pas persister les redémarrages. La solution de contournement proposée dans le lien ci-dessus consiste soit à utiliser une URL non srv, soit, d'une manière plus simple et pour autant que j'ai vu survit également aux redémarrages, est de supprimer le lien symbolique /etc/resolve.conf
et de le remplacer par un /etc/resolve.conf
statique fichier contenant le serveur DNS requis.
Une autre option, trouvée ici Suggère d'installer resolvconf (pour Ubuntu apt install resolvconf
), ajoutez la ligne nameserver 8.8.8.8
à /etc/resolvconf/resolv.conf.d/base
, puis exécutez sudo resolvconf -u
et pour être sûr que le service resolvconf restart
. Pour vérifier, exécutez systemd-resolve --status
.
Vous devriez voir sur la première ligne votre serveur DNS comme ici:
DNS Servers: 8.8.8.8 DNS Domain: sa-east-1.compute.internal DNSSEC NTA: 10.in-addr.arpa 16.172.in-addr.arpa
Dans certaines causes, par exemple dans un environnement où vous ne pouvez pas changer de résolveur, vous pouvez utiliser une URL de style ancien:
client = pymongo.MongoClient("mongodb://<username>:<password>@<cluster>...
Après modification de l'URL générée par cloud.mongodb.com Atlas dans la section Cluster -> Connect -> Choisissez une méthode de connexion -> Python - 3.4 ou version ultérieure
Cela a finalement commencé à fonctionner.
Ma configuration:
Quel est votre système d'exploitation? Essayez également de vous connecter avec
mongo --uri="URI HERE"
, cela devrait donner la même erreur. Vérifiez si cela vous aide