Comme vous l'avez dit, dans MySQL USAGE
est synonyme de "pas de privilèges". À partir du Manuel de référence MySQL
:
USAGE
est un moyen d'indiquer à MySQL qu'un compte existe sans conférer de véritables privilèges à ce compte. Ils ont simplement la permission d'utiliser le serveur MySQL, d'où USAGE
. Il correspond à une ligne dans le `mysql`.`user`
table sans privilèges définis.
Le IDENTIFIED BY
La clause indique qu'un mot de passe est défini pour cet utilisateur. Comment savons-nous qu'un utilisateur est celui qu'il prétend être ? Ils identifient eux-mêmes en envoyant le mot de passe correct pour leur compte.
Le mot de passe d'un utilisateur est l'un de ces attributs de compte de niveau global qui n'est pas lié à une base de données ou à une table spécifique. Il vit également dans le `mysql`.`user`
table. Si l'utilisateur n'a pas d'autres privilèges ON *.*
, ils reçoivent USAGE ON *.*
et leur hachage de mot de passe y est affiché. Ceci est souvent un effet secondaire d'un CREATE USER
déclaration. Lorsqu'un utilisateur est créé de cette manière, il n'a initialement aucun privilège, il se voit donc simplement accorder USAGE
.