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

Потребителски разрешения на MySQL

Нека видим как да предоставим разрешения (наречени привилегии) ​​на потребител на базата данни MySQL

По подразбиране, когато създавате нов потребител на MySQL, използвайки синтаксиса

CREATE USER '<username>'@'localhost' IDENTIFIED BY '<password>';

потребителят не може да направи много. Можем да кажем, че всъщност не може за нищо.

Той не може да чете данни от съществуваща база данни, камо ли да променя данните. И дори не може да създаде нова база данни.

За да накарате потребителя да прави каквото и да е, трябва да предоставите привилегии към него.

Можете да направите това с помощта на GRANT команда.

Можем да използваме GRANT <permission> , като използвате следните ключови думи за разрешение:

  • CREATE
  • DROP
  • DELETE
  • INSERT
  • SELECT
  • UPDATE
  • ALL PRIVILEGES

Дайте привилегия за създаване на нови бази данни на потребител

GRANT CREATE ON *.* TO '<username>'@'localhost';

Дайте привилегии на потребител да създава нови таблици в конкретна база данни

GRANT CREATE ON <database>.* TO '<username>'@'localhost';

Дайте привилегия за четене (заявка) на конкретна база данни на потребител

GRANT SELECT ON <database>.* TO '<username>'@'localhost';

Дайте привилегия за четене на конкретна таблица от база данни на потребител

GRANT SELECT ON <database>.<table> TO '<username>'@'localhost';

Дайте привилегия за вмъкване, актуализиране и изтриване на редове в конкретна база данни на потребител

GRANT INSERT, UPDATE, DELETE ON <database>.* TO '<username>'@'localhost';

Дайте привилегия за изтриване на таблици в конкретна база данни на потребител

GRANT DROP ON <database>.* TO '<username>'@'localhost';

Дайте привилегия за изтриване на бази данни на потребител

GRANT DROP ON *.* TO '<username>'@'localhost';

Дайте всички привилегии на конкретна база данни на потребител

GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'localhost';

Дайте всички привилегии на потребител

GRANT ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

Оттегляне на привилегия

Пример за отмяна на DROP привилегия на <database> :

REVOKE DROP ON <database>.* TO '<username>'@'localhost';

За да отмените всички привилегии, изпълнете:

REVOKE ALL PRIVILEGES ON *.* TO '<username>'@'localhost';

Можете да визуализирате привилегиите на един потребител, като изпълните:

SHOW GRANTS FOR '<username>'@'localhost';

  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. Информация за базата данни information_schema в MySQL

  3. Как да получите данни за последните 12 месеца в MySQL

  4. MySql таблица Вмъкнете, ако не съществува, в противен случай актуализирайте

  5. SQL - Как да транспонирам?