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

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

MySQL-এ কোনো ইউজারের প্রদত্ত প্রিভিলেজ (GRANT) দেখতে SHOW GRANTS FOR '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'@'%' ইউজারের গ্রান্ট দেখানো

mysql> SHOW GRANTS FOR 'Robert'@'%';

আউটপুট

+----------------------------------------------------------------------+
| Grants for Robert@%                                                  |
+----------------------------------------------------------------------+
| GRANT USAGE ON *.* TO `Robert`@`%`                                   |
| GRANT ALL PRIVILEGES ON `sample`.* TO `Robert`@`%` WITH GRANT OPTION |
| GRANT EXECUTE ON `web`.* TO `Robert`@`%`                             |
+----------------------------------------------------------------------+
3 rows in set (0.05 sec)

ব্যাখ্যা:

  • USAGE ON *.* — কোনো প্রিভিলেজ নেই (শুধু কানেক্ট করতে পারবে)।
  • ALL PRIVILEGES ON `sample`.* — sample ডেটাবেসের সব টেবিলে সব প্রিভিলেজ (WITH GRANT OPTION = অন্যকে দিতে পারবে)।
  • EXECUTE ON `web`.* — web ডেটাবেসে স্টোরড প্রসিডিউর/ফাংশন এক্সিকিউট করার অনুমতি।

বর্তমান ইউজারের গ্রান্ট: SHOW GRANTS; (কারেন্ট সেশন ইউজার)।

সকল ইউজারের গ্রান্ট দেখতে: SELECT * FROM information_schema.USER_PRIVILEGES; বা mysql> SHOW GRANTS FOR 'user'@'host'; লুপ চালিয়ে।

  1. MySQL-এ ভিন্ন ইউজার হিসেবে লগইন করা (mysql -u -p কমান্ড)

  2. MySQL-এ ORDER BY এবং LIMIT ব্যবহার করে নির্দিষ্ট ইউজারের লগইন টাইম আপডেট করা

  3. MySQL-এ IFNULL() দিয়ে NULL মানকে ১ এবং নন-নালকে ১ যোগ করে আপডেট করা

  4. MySQL-এ 'Access Denied for User root@localhost' এরর ফিক্স