কম্পিউটার টিউটোরিয়াল

MySQL-এ GRANT EXECUTE ব্যবহার করে ইউজারকে সকল স্টোরড প্রসিডিউর এক্সিকিউট করার অনুমতি দেওয়া

MySQL-এ নির্দিষ্ট ইউজারকে কোনো ডেটাবেসের সকল স্টোরড প্রসিডিউর (এবং ফাংশন) এক্সিকিউট করার অনুমতি দিতে GRANT EXECUTE ON database.* TO 'user'@'host' ব্যবহার করা হয়।

ইউজার লিস্ট দেখানো

mysql> SELECT user, host FROM mysql.user;

আউটপুট (আংশিক)

+------------------+-----------+
| user             | host      |
+------------------+-----------+
| Bob              | %         |
| Charlie          | %         |
| Robert           | %         |
| root             | %         |
| Adam Smith       | localhost |
| Chris            | localhost |
| ...              | ...       |
+------------------+-----------+
20 rows in set (0.00 sec)

'Robert'@'%' কে web ডেটাবেসের সব প্রসিডিউর এক্সিকিউট করার অনুমতি

mysql> GRANT EXECUTE ON web.* TO 'Robert'@'%';

আউটপুট

Query OK, 0 rows affected (0.24 sec)

ব্যাখ্যা: GRANT EXECUTE ON web.* — web ডেটাবেসের সকল রুটিন (PROCEDURE, FUNCTION) এক্সিকিউট করার অনুমতি। TO 'Robert'@'%' — ইউজার 'Robert' যেকোনো হост (%) থেকে।

অন্যান্য গ্রান্ট উদাহরণ:

  • GRANT SELECT, INSERT ON db.* TO 'user'@'host'; — নির্দিষ্ট প্রিভিলেজ।
  • GRANT ALL PRIVILEGES ON db.* TO 'user'@'host'; — সব প্রিভিলেজ (GRANT OPTION ছাড়া)।
  • GRANT ALL PRIVILEGES ON *.* TO 'user'@'host' WITH GRANT OPTION; — সুপার ইউজার (সতর্কতা: নিরাপত্তা ঝুঁকি)।

প্রিভিলেজ রিভোক করা: REVOKE EXECUTE ON web.* FROM 'Robert'@'%';

দেখতে: SHOW GRANTS FOR 'Robert'@'%'; (আর্টিকেল ১০০৬০৭৩৯১৫参照)

  1. MySQL-এ SHOW GRANTS ব্যবহার করে ইউজারের অনুমতি (privileges) দেখানো

  2. MySQL-এ ডেটাবেসে রেপ্লিকেশন প্রিভিলেজ দান করা

  3. MySQL-এ SHOW GRANTS দিয়ে নির্দিষ্ট ইউজারের সব 권한 (Grants) দেখানো

  4. MySQL에서 GRANT SELECT ON *.*로 모든 데이터베이스 모든 테이블 읽기 권한 주기