sql >> Databáze >  >> RDS >> Mysql

Proč je GRANT USAGE vytvořeno, když poprvé udělím uživateli oprávnění?

Jak jste řekl, v MySQL USAGE je synonymem pro "žádná privilegia". Z Referenční příručka MySQL :

USAGE je způsob, jak sdělit MySQL, že účet existuje, aniž by se tomuto účtu udělila nějaká skutečná oprávnění. Mají pouze oprávnění k použití server MySQL, proto USAGE . Odpovídá řádku v `mysql`.`user` tabulka bez nastavených oprávnění.

IDENTIFIED BY klauzule označuje, že pro tohoto uživatele je nastaveno heslo. Jak poznáme, že uživatel je tím, za koho se vydává? Identifikují odesláním správného hesla ke svému účtu.

Heslo uživatele je jedním z atributů účtu na globální úrovni, který není vázán na konkrétní databázi nebo tabulku. Také žije v `mysql`.`user` stůl. Pokud uživatel nemá žádná další oprávnění ON *.* , mají povoleno USAGE ON *.* a zobrazí se tam hash jejich hesla. To je často vedlejší účinek CREATE USER prohlášení. Když je uživatel vytvořen tímto způsobem, zpočátku nemá žádná oprávnění, takže je mu uděleno pouze USAGE .



  1. Podporuje MySql sp_getapplock

  2. Jak vytvořit průběžný celkový součet klouzavého období

  3. codeigniter aktivní záznam získat dotaz a dotaz bez klauzule LIMIT

  4. MySQL DROP SLOUPEC