Maison > base de données > MongoDB > Comment puis-je me connecter à une base de données MongoDB à l'aide du shell Mongo?

Comment puis-je me connecter à une base de données MongoDB à l'aide du shell Mongo?

Johnathan Smith
Libérer: 2025-03-11 18:03:55
original
161 Les gens l'ont consulté

Cet article explique la connexion aux bases de données MongoDB à l'aide du shell Mongo. Il détaille les formats de chaîne de connexion, y compris les paramètres pour l'hôte, le port, l'authentification, les SSL et les préférences de lecture. Dépannage des erreurs de connexion communes, comme Authen

Comment puis-je me connecter à une base de données MongoDB à l'aide du shell Mongo?

Shell

Pour se connecter à une base de données MongoDB à l'aide du shell Mongo , vous utiliserez généralement une chaîne de connexion. Le formulaire le plus simple se connecte à une instance MongoDB locale exécutée sur le port par défaut (27017):

 <code class="bash"> Mongo </code> 
Copier après la connexion

Cette commande suppose que MongoDB s'exécute sur votre machine locale et écoute sur le port par défaut. Si votre instance MongoDB s'exécute sur un autre hôte ou port, vous devrez le spécifier dans la chaîne de connexion. Par exemple, pour vous connecter à une instance MongoDB exécutée sur localhost au port 27018 :

 <code class="Bash"> Mongo Localhost: 27018 </code> 
Copier après la connexion

ou, pour se connecter à une instance MongoDB exécutée sur un serveur distant à Mydatabase.Example.com Code> sur un port éloigné à <code> Mydatabase.Example.xample> sur un port de télécommande à <code> <code> 27017 :

 <code class="bash"> Mongo mydatabase.example.com </code> 
Copier après la connexion

Après avoir exécuté la commande, le shell Mongo connectera et affichera la base de données actuelle à (généralement admin ). Vous pouvez ensuite passer à d'autres bases de données à l'aide de la commande Utiliser (par exemple, Utiliser MyDatabase ). N'oubliez pas de remplacer les espaces réservés comme mydatabase.example.com et 27018 avec votre adresse et numéro de port de serveur réels.

Les paramètres de chaîne de connexion communs peuvent inclure divers paramètres pour personnaliser la connexion. Voici quelques courants:
  • mongodb: // & lt; host & gt ;: & lt; port & gt; : c'est le format de base, spécifiant l'hôte et le port. Si le port est 27017, il peut être omis.
  • nom d'utilisateur et mot de passe : utilisé pour l'authentification (discuté plus loin ci-dessous). Ceux-ci sont souvent inclus dans le cadre de la chaîne de connexion elle-même, mais pour des raisons de sécurité, des variables d'environnement ou des mécanismes d'authentification dédiés sont généralement préférés.
  • Base de données : Spécifie la base de données par défaut pour se connecter lors d'une authentification réussie.
  • AuthSource : Ceci est crucial lors de l'utilisation de l'authentification, car il indique quelle base de données contient les informations d'identification de l'utilisateur. S'il est omis, il est par défaut de la base de données spécifiée avec le paramètre de base de données ou de admin si aucune base de données n'est spécifiée.
  • AuthMechanism : spécifie le mécanisme d'authentification à utiliser. Les mécanismes communs incluent scram-sha-1 (recommandé) et mongodb-cr . Ceci est particulièrement important pour les connexions sécurisées.
  • répliquent : spécifie le nom de la réplique définie pour se connecter pour la haute disponibilité.
  • SSL ou TLS : Active l'encouragement SSL / TLS pour les connexions sécurisées. Ceci est fortement recommandé pour les environnements de production. Vous devrez peut-être fournir des paramètres supplémentaires tels que les chemins de certificat.
  • readPreference : Spécifie la préférence de lecture (par exemple, primaire , secondaire , secondaryPreferred , le plus cher ). Cela affecte quels membres d'un ensemble de répliques sont utilisés pour les opérations de lecture.

Une chaîne de connexion plus complexe incorporant plusieurs de ces paramètres pourraient ressembler à ceci:

 <code class="bash"> Mongo & quot; mongodb: // myuser: mypassword@mydatabase.example.com: 27017 /? Authsource = admin & amp; authmechanism = scram-sha-1 & amp; ssl = true & quot; </code>  pre> <p> N'oubliez pas de remplacer les valeurs d'espionnage par vos erreurs et les détails de connexion réels. Mongo Shell  </p><p> Les erreurs de connexion peuvent découler de divers problèmes. Voici une ventilation des problèmes communs et des étapes de dépannage: </p> 
Copier après la connexion
  • Nom ou port d'hôte incorrect: Vérifiez le nom d'hôte ou l'adresse IP et le numéro de port de votre serveur MongoDB. Assurez-vous que le serveur MongoDB s'exécute et écoute réellement sur le port spécifié. Utiliser netStat -tulnp | Grep Mongo (sur Linux / MacOS) ou des commandes similaires à vérifier.
  • Problèmes de connectivité réseau: Vérifiez la connectivité réseau entre votre machine client et le serveur MongoDB. Vérifiez les connexions de blocage des pare-feu sur le port pertinent (généralement 27017). Ping le serveur pour garantir laactions du réseau.
  • Problèmes d'authentification: Si la base de données nécessite une authentification, assurez-vous de fournir le nom d'utilisateur, le mot de passe et Authsource . Vérifiez les journaux du serveur MongoDB pour les erreurs liées à l'authentification.
  • Problèmes de configuration SSL / TLS: Si vous utilisez SSL / TLS, assurez-vous que les certificats sont correctement configurés sur les côtés du client et du serveur. Vérifiez les problèmes de chaîne de certificats ou les certificats incompatibles.
  • Problèmes de pilote: Assurez-vous que vous avez installé la bonne version de Shell MongoDB et qu'il est compatible avec votre version du serveur MongoDB.
  • Erreurs de serveur MongoDB: Ces journaux fournissent souvent des indices précieux sur la cause profonde du problème de connexion.

Si vous rencontrez une erreur, examinez attentivement le message d'erreur. Il fournit souvent des conseils sur la nature du problème. Consultez la documentation MongoDB pour un guidage de dépannage plus spécifique basé sur le message d'erreur.

Authentification lors de la connexion à une base de données MongoDB sécurisée à l'aide de la Shell Mongo

pour vous connecter à une base de données MongoDB sécurisée, vous devez fournir des informations d'authentification. Le moyen le plus sécurisé consiste à éviter d'inclure des informations d'identification directement dans la chaîne de connexion. Au lieu de cela, utilisez des variables d'environnement ou des mécanismes d'authentification comme les certificats X.509. Cependant, pour la démonstration, nous montrerons comment inclure les informations d'identification dans la chaîne de connexion:

 <code class="bash"> mongo & quot; mongodb: // myuser: mypassword@mydatabase.example.com: 27017 /? Authsource = admin & amp; AuthMechanism = Scram-Sha-1 & quot; </code>  <code> & quot; Myuser & quot; </code>, <code> & quot; mypassword & quot; </code>, <code> & quot; mydatabase.example.com & quot; </code>, et <code> & quot; admin & quot; </code> avec votre nom d'utilisateur, votre mot de passe, votre mot de passe, le serveur et la base de données d'authentification réels. <code> AuthMechanism = Scram-Sha-1 </code> Spécifie le mécanisme d'authentification recommandé. Assurez-vous que l'utilisateur <code> myuser </code> existe dans la base de données spécifiée par <code> Authsource </code> (dans ce cas, la base de données <code> admin </code>) et a les autorisations nécessaires pour accéder à la base de données cible.  <p> Rappelez-vous, stockant les informations d'identification directement dans les chaînes de connexion est un risque de sécurité. Pour les environnements de production, utilisez des méthodes d'authentification plus robustes telles que les variables d'environnement ou les mécanismes d'authentification dédiés pour une meilleure sécurité. Reportez-vous toujours à la documentation officielle MongoDB pour les meilleures pratiques sur la sécurisation de vos connexions de base de données. </p>
Copier après la connexion

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration de ce site Web
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn
Derniers articles par auteur
Tutoriels populaires
Plus>
Derniers téléchargements
Plus>
effets Web
Code source du site Web
Matériel du site Web
Modèle frontal