Computer >> Hướng Dẫn Máy Tính >  >> Lập Trình >> MySQL

Cách kiểm tra quyền (privileges) trong MySQL

Để xem quyền của user hiện tại hoặc user cụ thể, dùng SHOW GRANTS.

Xem quyền user hiện tại

SHOW GRANTS;

Kết quả mẫu (root@%):

+----------------------------------------------------------------------------------------------------------------------------------+
| Grants for root@%                                                                                                                |
+----------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, |
| SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW,            |
| CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `root`@`%`      |
| WITH GRANT OPTION                                                                                                                |
| GRANT BACKUP_ADMIN, BINLOG_ADMIN, CONNECTION_ADMIN, ENCRYPTION_KEY_ADMIN, GROUP_REPLICATION_ADMIN, ... ON *.* TO `root`@`%`     |
| WITH GRANT OPTION                                                                                                                |
+----------------------------------------------------------------------------------------------------------------------------------+

Xem quyền user cụ thể

SHOW GRANTS FOR 'Bob'@'%';

Kết quả mẫu (Bob@%):

+----------------------------------------------------------------------------------------------------------------------------------+
| Grants for Bob@%                                                                                                                 |
+----------------------------------------------------------------------------------------------------------------------------------+
| GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, |
| SUPER, CREATE TEMPORARY TABLES, LOCK TABLES, EXECUTE, REPLICATION SLAVE, REPLICATION CLIENT, CREATE VIEW, SHOW VIEW,            |
| CREATE ROUTINE, ALTER ROUTINE, CREATE USER, EVENT, TRIGGER, CREATE TABLESPACE, CREATE ROLE, DROP ROLE ON *.* TO `Bob`@`%`       |
| WITH GRANT OPTION                                                                                                                |
| GRANT BACKUP_ADMIN, BINLOG_ADMIN, CONNECTION_ADMIN, ENCRYPTION_KEY_ADMIN, GROUP_REPLICATION_ADMIN, ... ON *.* TO `Bob`@`%`      |
| WITH GRANT OPTION                                                                                                                |
+----------------------------------------------------------------------------------------------------------------------------------+

Lưu ý:

  • Cần quyền SELECT trên database mysql hoặc quyền SHOW GRANTS (từ MySQL 8.0) để xem quyền user khác.
  • Host % khớp mọi IP. User 'Bob'@'localhost' và 'Bob'@'%' là hai account riêng biệt.
  • Dòng WITH GRANT OPTION cho phép user cấp quyền cho user khác.