Maison >base de données >MongoDB >Comment puis-je me connecter à une base de données MongoDB à l'aide du shell Mongo?
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
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>
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>
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>
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.
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. 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>
netStat -tulnp | Grep Mongo
(sur Linux / MacOS) ou des commandes similaires à vérifier. Authsource
. Vérifiez les journaux du serveur MongoDB pour les erreurs liées à l'authentification. 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.
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>
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!