19
0
Fork 0

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
1 changed files with 42 additions and 37 deletions

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.
## 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`
### 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;
myApp> db.createUser(
{
"user" : "myAppOwner",
@ -235,39 +248,29 @@ myApp> db.createUser(
# apg -n1 -m23
# mongosh …
> use admin
> db.changeUserPassword("my_user", passwordPrompt())
admin> db.changeUserPassword("my_user", passwordPrompt())
~~~
Sans _prompt_ :
~~~
> use admin
> db.changeUserPassword("my_user", "my_password"
admin> db.changeUserPassword("my_user", "my_password"
~~~
### Supprimer un utilisateur
Supprimons l'utilisateur foo de la base admin :
Supprimons l'utilisateur `foo` de la base admin :
~~~
> use admin
> db.dropUser('foo')
admin> db.dropUser('foo')
true
~~~
### Lister tous les utilisateurs
~~~
> 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
## Gestion des bases de données
### Lister les bases de données
@ -279,19 +282,6 @@ foo 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
@ -299,11 +289,12 @@ Pour supprimer la base foo :
> use foo
switched to db foo
> show collections
foo> show collections
bar
baz
~~~
### 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.
@ -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 :
```
use math
db.constants.insert({name: "e", value: "2.7182818"})
> use math
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`.
`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
Voici quelques opérations de base