Remarques :
- Les commandes suivantes ont été testées sur MongoDB 2.4
Se connecter à MongoDb sans authentification
Depuis l’hôte local
mongo
ou
mongo localhost:27017
Par défaut, le port de connexion est 27017, l’hôte est localhost et la base de données de connexion est test.
De plus, MongoDB n’est pas sécurisé, c’est pourquoi aucun identifiant ni mot de passe n’est demandé. On est alors automatiquement logué avec les droits d’administrateur.
Commande générique
mongo host:port/dbname
Se connecter à MongoDb avec authentification
Il faut au préalable sécuriser la connexion en décommentant la ligne suivante du fichier /etc/mongodb.conf :
[...]
19
20 # Turn on/off security. Off is currently the default
21 #noauth = true
22 auth = true
23
[...]
Depuis l’hôte local
mongo dbname -u username -p password
ou
mongo localhost:27017/dbname -u username -p password
Commande générique
mongo host:port/dbname -u username -p password
Créer un administrateur général MongoDB
> use admin
> db.addUser({user:'adminname', pwd:'password', roles:['userAdminAnyDatabase','clusterAdmin','readWriteAnyDatabase','dbAdminAnyDatabase']});
ex :
> use admin; switched to db admin > db.addUser({user:'mongoadmin', pwd:'password', roles:['userAdminAnyDatabase','clusterAdmin','readWriteAnyDatabase','dbAdminAnyDatabase']}); { "user" : "mongoadmin", "pwd" : "1a24a1214854e8b5c4c42f8fcfed8b30", "roles" : [ "userAdminAnyDatabase", "clusterAdmin", "readWriteAnyDatabase", "dbAdminAnyDatabase" ], "_id" : ObjectId("584b13dc7d03c265e554392f") }
ou
> use admin; switched to db admin > db.addUser({ ... user:'mongoadmin', ... pwd:'password', ... roles:['userAdminAnyDatabase'] ... }) { "user" : "mongoadmin", "pwd" : "1a24a1214854e8b5c4c42f8fcfed8b30", "roles" : [ "userAdminAnyDatabase", "clusterAdmin", "readWriteAnyDatabase", "dbAdminAnyDatabase" ], "_id" : ObjectId("584b14677d03c265e5543930") }
Créer un administrateur MongoDB d’une base de données spécifique
> use dbname > db.addUser({user:'username', pwd:'password', roles:['readWrite']});
ex :
> use dbtest switched to db dbtest > db.addUser({user:'usertest', pwd:'password', roles:['readWrite']}); { "user" : "usertest", "pwd" : "d2f025e7bf9a5d0c8632f5dfd471b741", "roles" : [ "readWrite" ], "_id" : ObjectId("584b391bdfb9b2684d2ab0cd") }
Créer une base de données
> use dbname
La base de données n’est véritablement créée que lorsqu’un document est ajouté à la base de données.
Supprimer tous les utilisateurs d’une base de données
> use dbname > db.system.users.remove({})