Distinction création utilisateur / ajout de permissions dans la section TL;DR
This commit is contained in:
parent
3dbced07fe
commit
e1d2ab2afd
|
@ -416,13 +416,13 @@ Changer dynamiquement la valeur d'une variable de configuration :
|
|||
|
||||
**Attention :**
|
||||
|
||||
* Les permissions et mots de passe ne sont pas spécifiques à un utilisateur, mais à un triplet utilisateur/hôte/base.
|
||||
* Par défaut, on utilisera l'hôte `localhost`.
|
||||
* **Les permissions et mots de passe ne sont pas spécifiques à un utilisateur, mais à un couple utilisateur/hôte.**
|
||||
* Par défaut, utiliser l'hôte `localhost`. Pour autoriser l'utilisateur à se connecter à partir de n'importe où, utiliser le wildcard `%`.
|
||||
|
||||
**Lister** les utilisateurs :
|
||||
|
||||
~~~{.sql}
|
||||
> SELECT host, user FROM mysql.user [WHERE db=<BD_NAME> ORDER BY user];
|
||||
> SELECT host, user, password FROM mysql.user [WHERE db=<BD_NAME> ORDER BY user];
|
||||
~~~
|
||||
|
||||
**Lister** les privilèges d’un utilisateur/hôte :
|
||||
|
@ -431,17 +431,32 @@ Changer dynamiquement la valeur d'une variable de configuration :
|
|||
> SHOW GRANTS FOR <USER>@<HOST>;
|
||||
~~~
|
||||
|
||||
**Ajouter** un accès utilisateur/hôte avec tous les droits sur une base :
|
||||
**Créer** un utilisateur/hôte :
|
||||
|
||||
~~~{.sql}
|
||||
# Si on connaît le mot de passe
|
||||
> GRANT ALL PRIVILEGES ON <DB_NAME>.* TO <USER>@<HOST> IDENTIFIED BY '<PASSWORD>';
|
||||
|
||||
# En réutilisant le hash d'un mot de passe non connu (obtenu plus haut avec SHOW GRANTS)
|
||||
> GRANT ALL PRIVILEGES ON <DB_NAME>.* TO <USER>@<HOST> IDENTIFIED BY PASSWORD '<HASH>';
|
||||
CREATE USER <USER>@<HOST> IDENTIFIED BY '<PASSWORD>';
|
||||
~~~
|
||||
|
||||
**Note :** si on veut créer un utilisateur et une base du même nom, on préfèrera la commande shell `mysqladmin create <NAME>`.
|
||||
**Note :** si on veut créer un utilisateur et une base du même nom, on préférera la commande shell `mysqladmin create <NAME>`.
|
||||
|
||||
Pour autoriser un utilisateur existant à se connecter à partir d'un autre hôte (ou de `%`), réutiliser le hash de son mot de passe :
|
||||
|
||||
~~~{.sql}
|
||||
> SELECT host, user, password FROM mysql.user WHERE user LIKE '<USER>';
|
||||
> CREATE USER <USER>@<HOST2> IDENTIFIED BY PASSWORD '<HASH>';
|
||||
~~~
|
||||
|
||||
Donner **tous les privilèges** sur une base à un utilisateur/hôte :
|
||||
|
||||
~~~{.sql}
|
||||
> GRANT ALL PRIVILEGES ON <DB_NAME>.* TO <USER>@<HOST>;
|
||||
~~~
|
||||
|
||||
Changer le **mot de passe** d'un utilisateur :
|
||||
|
||||
~~~{.sql}
|
||||
> SET PASSWORD FOR <USER>@<HOST> = PASSWORD('<PASSWORD>');
|
||||
~~~
|
||||
|
||||
**Révoquer** les accès d'un utilisateur/hôte à une base (attention un utilisateur peut avoir des permissions avec plusieurs hôtes !) :
|
||||
|
||||
|
|
Loading…
Reference in a new issue