Amélioration du nommage des sections et ré-aménagement

This commit is contained in:
whirigoyen 2022-12-05 18:36:54 +01:00
parent 8943ba6b9e
commit e0b6367cee

View file

@ -199,24 +199,37 @@ $ mongo admin -u mongoAdmin -p PASSWORD
Pour les accès aux bases, les utilisateurs sont stockés dans la collection _system.users_ propre à chaque base. Pour les accès aux bases, les utilisateurs sont stockés dans la collection _system.users_ propre à chaque base.
## Administration des utilisateurs ## Accès en CLI
Comme pour MySQL, on peut manipuler mongo en CLI en mode interactif avec la commande `mongo` Comme pour MySQL, on peut manipuler MongoDB en CLI en mode interactif avec la commande `mongosh`.
``` ```
$ mongo admin -u mongoAdmin -p PASSWORD $ mongosh admin -u mongoAdmin -p PASSWORD
``` ```
Ici, pour se connecter à la base locale admin. Comme la base d'authentification n'est pas spécifiée, ça sera la base à laquelle on se connecte (ici admin) qui servira pour l'authentification. Ici, pour se connecter à la base locale `admin`. Comme la base d'authentification n'est pas spécifiée, ça sera la base à laquelle on se connecte (ici `admin`) qui servira pour l'authentification.
> *Note*: Pour vous connecter à une base différente de celle d'authentification, on pourra spécifier le nom de cette base avec l'argument `--authenticationDatabase XXX` > *Note*: Pour vous connecter à une base différente de celle d'authentification, on pourra spécifier le nom de cette base avec l'argument `--authenticationDatabase XXX`
### Créer un utilisateur pour une base de données ## Gestion des utilisateurs
Rappel : chaque utilisateur est associé à une base.
### Lister les utilisateurs
~~~
> use admin
admin> db.system.users.find()
{ "_id" : "admin.mongoAdmin", "userId" : UUID("3d475ec9-b82c-4312-8ce6-399bcbe3ca7a"), "user" : "mongoAdmin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "lO6VBPnKD0dC5TwRcCJwZg==", "storedKey" : "AUUwnA6v/8LbSEUpDU5EXQmp9sY=", "serverKey" : "DjHukfkoW0QE5Zy/5plD9FLrsu8=" }, "SCRAM-SHA-256" : { "iterationCount" : 15000, "salt" : "fqRp+/wrOGTyk1hiTn4RoPQr4jWVlqw79GsD4g==", "storedKey" : "/aaz0CJHlFfFDD5bSBPOBCnipn07ezx+X0pHFABeOV0=", "serverKey" : "W6BOf07RoYytpgJc4KOoTTTID7qJ1iah9Wqwub9xjgE=" } }, "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
~~~
### Créer un utilisateur
~~~ ~~~
> use myApp; > use myApp;
myApp> db.createUser( myApp> db.createUser(
{ {
"user" : "myAppOwner", "user" : "myAppOwner",
@ -235,39 +248,29 @@ myApp> db.createUser(
# apg -n1 -m23 # apg -n1 -m23
# mongosh … # mongosh …
> use admin > use admin
> db.changeUserPassword("my_user", passwordPrompt()) admin> db.changeUserPassword("my_user", passwordPrompt())
~~~ ~~~
Sans _prompt_ : Sans _prompt_ :
~~~ ~~~
> use admin > use admin
> db.changeUserPassword("my_user", "my_password" admin> db.changeUserPassword("my_user", "my_password"
~~~ ~~~
### Supprimer un utilisateur ### Supprimer un utilisateur
Supprimons l'utilisateur foo de la base admin : Supprimons l'utilisateur `foo` de la base admin :
~~~ ~~~
> use admin > use admin
admin> db.dropUser('foo')
> db.dropUser('foo')
true true
~~~ ~~~
### Lister tous les utilisateurs
~~~ ## Gestion des bases de données
> use admin
> db.system.users.find()
{ "_id" : "admin.mongoAdmin", "userId" : UUID("3d475ec9-b82c-4312-8ce6-399bcbe3ca7a"), "user" : "mongoAdmin", "db" : "admin", "credentials" : { "SCRAM-SHA-1" : { "iterationCount" : 10000, "salt" : "lO6VBPnKD0dC5TwRcCJwZg==", "storedKey" : "AUUwnA6v/8LbSEUpDU5EXQmp9sY=", "serverKey" : "DjHukfkoW0QE5Zy/5plD9FLrsu8=" }, "SCRAM-SHA-256" : { "iterationCount" : 15000, "salt" : "fqRp+/wrOGTyk1hiTn4RoPQr4jWVlqw79GsD4g==", "storedKey" : "/aaz0CJHlFfFDD5bSBPOBCnipn07ezx+X0pHFABeOV0=", "serverKey" : "W6BOf07RoYytpgJc4KOoTTTID7qJ1iah9Wqwub9xjgE=" } }, "roles" : [ { "role" : "userAdminAnyDatabase", "db" : "admin" } ] }
~~~
## Administration des bases de données
### Lister les bases de données ### Lister les bases de données
@ -279,19 +282,6 @@ foo 0.000GB
local 0.000GB local 0.000GB
~~~ ~~~
### Supprimer une base de données
Pour supprimer la base foo :
~~~
> use foo
> db.runCommand( { dropDatabase: 1 } )
{
"dropped" : "foo",
"ok" : 1
}
~~~
### Lister les collections d'une base de données ### Lister les collections d'une base de données
@ -299,11 +289,12 @@ Pour supprimer la base foo :
> use foo > use foo
switched to db foo switched to db foo
> show collections foo> show collections
bar bar
baz baz
~~~ ~~~
### Créer une base de données ### Créer une base de données
Il ny a pas de commande équivalente à `CREATE DATABASE` dans MongoBD. Une base de données est effectivement créée lorsque des données sont insérées dans la base. Il ny a pas de commande équivalente à `CREATE DATABASE` dans MongoBD. Une base de données est effectivement créée lorsque des données sont insérées dans la base.
@ -311,14 +302,28 @@ Il ny a pas de commande équivalente à `CREATE DATABASE` dans MongoBD. Une b
Pour créer une base de données, il faut sy attacher avec la commande `use <DB>` puis ajouter des données dans une collection : Pour créer une base de données, il faut sy attacher avec la commande `use <DB>` puis ajouter des données dans une collection :
``` ```
use math > use math
db.constants.insert({name: "e", value: "2.7182818"}) math> db.constants.insert({name: "e", value: "2.7182818"})
``` ```
Les commandes précédentes permettent dajouter un élément à une collection `constants` dans la base `math`. Les commandes précédentes permettent dajouter un élément à une collection `constants` dans la base `math`.
`name` et `value` sont des chaînes de caractères quelconques et non des mots-clés. `name` et `value` sont des chaînes de caractères quelconques et non des mots-clés.
### Supprimer une base de données
Pour supprimer la base foo :
~~~
> use foo
foo> db.runCommand( { dropDatabase: 1 } )
{
"dropped" : "foo",
"ok" : 1
}
~~~
## Autres commandes diverses ## Autres commandes diverses
Voici quelques opérations de base Voici quelques opérations de base