MongoDB: Premiers pas
Comment débuter avec MongoDB
Connexion à votre serveur MongoDB
Pour établir une connexion à votre instance MongoDB en utilisant la CLI Mongo, vous pouvez utiliser cette commande :
mongo --quiet mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true
Par exemple, si vous souhaitez vous connecter en tant qu'utilisateur admin à la base de données admin, vous pourriez exécuter :
mongo --quiet mongodb://admin:<password>@<XXXXXX>.stackhero-network.com:27017/admin?tls=true
Si la CLI Mongo n'est pas installée sur votre système, vous pouvez la télécharger depuis la documentation officielle de MongoDB. Alternativement, si Docker est disponible sur votre système, vous pourriez trouver cette commande utile :
docker run -it mongo /bin/bash
Création de bases de données et d'utilisateurs dans MongoDB
Pour améliorer la sécurité et assurer une meilleure organisation, il est conseillé de créer des utilisateurs uniques pour chaque base de données. Voici un exemple de script pour créer un nouvel utilisateur :
db.getSiblingDB("myDatabase")
.createUser({
user: "myUser",
pwd: "myPassword",
roles: [ { role: "readWrite", db: "myDatabase" } ],
passwordDigestor: "server"
});
Le script ci-dessus crée un utilisateur nommé myUser avec le mot de passe myPassword, et lui accorde des permissions de lecture et d'écriture pour la base de données myDatabase.
Assurez-vous d'être connecté en tant qu'utilisateur
adminlors des opérations de création d'utilisateur.
Suppression d'un utilisateur dans MongoDB
Pour supprimer un utilisateur, tel que myUser, de la base de données myDatabase, vous pouvez exécuter la commande suivante :
db.getSiblingDB("myDatabase").dropUser("myUser");
Sauvegarde des données MongoDB
Pour sauvegarder vos données MongoDB, vous pouvez utiliser la commande suivante :
mongodump --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
Si vous rencontrez une erreur comme celle-ci :
authentication failed for admin on <database> from client <ip>; UserNotFound: Could not find user admin@<database>
Cela pourrait être dû au fait que l'utilisateur admin n'est pas enregistré pour la base de données spécifiée. Ajouter l'option --authenticationDatabase=admin pourrait résoudre le problème :
mongodump --authenticationDatabase=admin --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
Pour une sauvegarde compressée, vous pouvez inclure l'option --gzip :
mongodump --gzip --uri "mongodb://<user>:<password>@<XXXXXX>.stackhero-network.com:27017/<database>?tls=true"
Résolution des problèmes
Résolution de l'erreur Use of SCRAM-SHA-256 requires undigested passwords
Cette erreur peut survenir lors de la tentative de création d'un utilisateur via l'interface Admin Mongo UI. Pour éviter cela, utilisez la requête Mongo fournie dans la section création de bases de données et d'utilisateurs dans MongoDB.
Note : L'interface Admin Mongo UI ne prend pas en charge l'exécution directe de requêtes. À la place, vous pourriez envisager d'utiliser la CLI Mongo (en savoir plus) ou un outil GUI tel que Robo 3T (voir le guide de configuration).