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 DATABASESlà global privilege (cấp ON *.*).- User không có quyền này:
SHOW DATABASESchỉ 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.