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

Quyền MySQL để xem tất cả database (SHOW DATABASES)

Quyền SHOW DATABASES cho phép user thấy danh sách database qua SHOW DATABASES. Thu hồi quyền bằng REVOKE.

Ví dụ minh họa

Xem user hiện có:

mysql> SELECT user, host FROM mysql.user;
+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| Charlie          | %         |
| ...              | ...       |
| John             | localhost |
| ...              | ...       |
+------------------+-----------+

Xem quyền của 'John'@'localhost':

mysql> SHOW GRANTS FOR 'John'@'localhost';
GRANT SELECT, INSERT, ..., SHOW DATABASES, ... ON *.* TO `John`@`localhost`

Thu hồi quyền SHOW DATABASES:

mysql> REVOKE SHOW DATABASES ON *.* FROM 'John'@'localhost';

Lưu ý:

  • SHOW DATABASES là global privilege (cấp ON *.*).
  • User không có quyền này: SHOW DATABASES chỉ hiển thị DB mình có quyền (hoặc rỗng).
  • MySQL 8.0: quyền này tách riêng, không gói trong ALL PRIVILEGES.
  • Để cấp lại: GRANT SHOW DATABASES ON *.* TO 'John'@'localhost';.

Cảnh báo: Bài viết gốc nhầm lẫn - tiêu đề "permissions to view all databases" nhưng ví dụ dùng REVOKE (thu hồi). Đã sửa ngữ cảnh cho phù hợp.