MySQL-এ কোনো ইউজারের SHOW DATABASES পারমিশন রিভোক (বাতিল) করতে REVOKE SHOW DATABASES ON *.* FROM 'user'@'host' স্টেটমেন্ট ব্যবহার করা হয়। এটি ইউজারকে সব ডেটাবেসের তালিকা দেখতে দেবে না।
ইউজার লিস্ট দেখানো
mysql> select user,host from MySQL.user; +------------------+-----------+ | user | host | +------------------+-----------+ | Bob | % | | Charlie | % | | Robert | % | | User2 | % | | mysql.infoschema | % | | mysql.session | % | | mysql.sys | % | | root | % | | @UserName@ | localhost | | Adam | localhost | | Adam Smith | localhost | | Chris | localhost | | David | localhost | | James | localhost | | John | localhost | | John Doe | localhost | | Michael | localhost | | Mike | localhost | | User1 | localhost | | am | localhost | | hbstudent | localhost | | mysql.infoschema | localhost | | mysql.session | localhost | +------------------+-----------+
John@localhost-এর গ্রান্টস দেখানো
mysql> show grants for 'John'@'localhost'; +----------------------------------------------------------------------------------------------------------------------------------+ | Grants for John@localhost | +----------------------------------------------------------------------------------------------------------------------------------+ | GRANT SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, RELOAD, SHUTDOWN, PROCESS, FILE, REFERENCES, INDEX, ALTER, SHOW DATABASES, ... | | GRANT BACKUP_ADMIN, BINLOG_ADMIN, ... ON *.* TO `John`@`localhost` | +----------------------------------------------------------------------------------------------------------------------------------+
SHOW DATABASES পারমিশন রিভোক করা
mysql> revoke show databases on *.* from 'John'@'localhost'; Query OK, 0 rows affected (0.18 sec)
প্রভাব: এখন John@localhost ইউজার SHOW DATABASES কমান্ড চালালে শুধু যেসব ডেটাবেসে তার এক্সেস আছে, তেসবই দেখবে (নাকি এরর পাবে, কনফিগারেশন অনুযায়ী)। সিকিউরিটি হার্ডেনিং-এ এই পারমিশন রিমুভ করা ভালো প্র্যাকটিস।