MySQL-এ কোনো ইউজারকে শুধু নির্দিষ্ট একটি ভিউ (View) দেখার অনুমতি দিতে GRANT SELECT ON database.view TO 'user'@'host'; ব্যবহার করুন। এতে ইউজার অন্ডারলাইন টেবিল বা অন্যান্য অবজেক্ট অ্যাক্সেস করতে পারবে না।
সিনট্যাক্স
GRANT SELECT ON `database_name`.`view_name` TO 'username'@'host';
স্টেপস
- ডেটাবেসের ভিউ লিস্ট দেখুন:
SHOW FULL TABLES IN `database_name` WHERE TABLE_TYPE LIKE 'VIEW'; - ইউজার লিস্ট দেখুন:
SELECT `user`, `host` FROM `mysql`.`user`; - ভিউ-স্পেসিফিক GRANT দিন:
GRANT SELECT ON `test`.`viewemployeeidandemployeename` TO 'Adam Smith'@'localhost';
ফলাফল: Query OK, 0 rows affected
নোট: MySQL 8.0+ এ GRANT স্টেটমেন্ট স্বয়ংক্রিয়ভাবে ইউজার তৈরি করে না (পুরনো ভার্সনে হতো)। আগে CREATE USER করুন, তারপর GRANT।