Mysql
 sql >> база данни >  >> RDS >> Mysql

Защо се създава GRANT USAGE при първия път, когато предоставям привилегии на потребител?

Както казахте, в MySQL USAGE е синоним на "без привилегии". От Справочното ръководство за MySQL :

USAGE е начин да се каже на MySQL, че акаунт съществува, без да се предоставят реални привилегии на този акаунт. Те просто имат разрешение за използване MySQL сървъра, следователно USAGE . Той съответства на ред в `mysql`.`user` таблица без зададени привилегии.

IDENTIFIED BY клауза показва, че е зададена парола за този потребител. Как да разберем, че потребителят е този, за когото се представя? Те идентифицират сами, като изпратят правилната парола за своя акаунт.

Потребителската парола е един от онези атрибути на акаунта на глобално ниво, които не са обвързани с конкретна база данни или таблица. Той също така живее в `mysql`.`user` маса. Ако потребителят няма други привилегии ON *.* , те получават USAGE ON *.* и там се показва хешът на паролата им. Това често е страничен ефект от CREATE USER изявление. Когато потребител е създаден по този начин, той първоначално няма никакви привилегии, така че просто му се предоставя USAGE .



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Промяна на колона срещу промяна на колона

  2. Няма резултати след премахване на mysql ft_stopword_file

  3. Как да накарам SQLAlchemy да вмъкне правилно уникод многоточие в mySQL таблица?

  4. Как правилно да напишете UTF-8 низове в MySQL чрез JDBC интерфейс

  5. Mysql подобрява скоростта на SELECT