Come hai detto, in MySQL USAGE
è sinonimo di "nessun privilegio". Dal Manuale di riferimento di MySQL
:
USAGE
è un modo per dire a MySQL che esiste un account senza conferire alcun privilegio reale a quell'account. Hanno semplicemente il permesso di utilizzare il server MySQL, quindi USAGE
. Corrisponde a una riga nel `mysql`.`user`
tabella senza privilegi impostati.
Il IDENTIFIED BY
clausola indica che è stata impostata una password per quell'utente. Come facciamo a sapere che un utente è chi dice di essere? Si identificano stessi inviando la password corretta per il proprio account.
La password di un utente è uno di quegli attributi dell'account a livello globale che non sono legati a un database o una tabella specifici. Vive anche nel `mysql`.`user`
tavolo. Se l'utente non dispone di altri privilegi ON *.*
, viene loro concesso USAGE ON *.*
e l'hash della loro password viene visualizzato lì. Questo è spesso un effetto collaterale di un CREATE USER
dichiarazione. Quando un utente viene creato in questo modo, inizialmente non ha privilegi, quindi gli viene semplicemente concesso USAGE
.