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

MySQL-এ INFORMATION_SCHEMA.SCHEMA_PRIVILEGES দিয়ে সব ব্যবহারকারীর গ্রান্ট দেখানো

MySQL-এ INFORMATION_SCHEMA.SCHEMA_PRIVILEGES টেবিল থেকে সমস্ত স্কিমা-লেভেল অধিকার (schema-level privileges) দেখানো যায়।

কোয়েরি

select * from INFORMATION_SCHEMA.SCHEMA_PRIVILEGES;

উদাহরণ আউটপুট

+-----------------------------+---------------+--------------------+-------------------------+--------------+
| GRANTEE                     | TABLE_CATALOG | TABLE_SCHEMA       | PRIVILEGE_TYPE          | IS_GRANTABLE |
+-----------------------------+---------------+--------------------+-------------------------+--------------+
| 'mysql.sys'@'localhost'     | def           | sys                | TRIGGER                 | NO           |
| 'Adam Smith'@'localhost'    | def           | test               | SELECT                  | NO           |
| 'Adam Smith'@'localhost'    | def           | test               | INSERT                  | NO           |
| 'Adam Smith'@'localhost'    | def           | test               | UPDATE                  | NO           |
| 'Adam Smith'@'localhost'    | def           | test               | DELETE                  | NO           |
| 'Adam Smith'@'localhost'    | def           | test               | CREATE                  | NO           |
| 'Adam Smith'@'localhost'    | def           | test               | DROP                    | NO           |
| ...                         | ...           | ...                | ...                     | ...          |
| 'Robert'@'%'                | def           | sample             | SELECT                  | YES          |
| 'Robert'@'%'                | def           | sample             | INSERT                  | YES          |
| 'Robert'@'%'                | def           | sample             | UPDATE                  | YES          |
| 'Robert'@'%'                | def           | sample             | DELETE                  | YES          |
| 'Robert'@'%'                | def           | sample             | CREATE                  | YES          |
| ...                         | ...           | ...                | ...                     | ...          |
| 'Robert'@'%'                | def           | web                | EXECUTE                 | NO           |
+-----------------------------+---------------+--------------------+-------------------------+--------------+
46 rows in set (0.00 sec)

কলাম ব্যাখ্যা

সাধারণ গ্রান্ট কোয়েরি와의 পার্থক্য

  • SHOW GRANTS FOR 'user'@'host' - নির্দিষ্ট ইউজারের গ্লোবাল + ডেটাবেস গ্রান্ট দেখায়
  • SCHEMA_PRIVILEGES - শুধু স্কিমা-লেভেল গ্রান্ট দেখায় (টেবিল/কলাম লেভেল নয়)
  • TABLE_PRIVILEGES - টেবিল-লেভেল গ্রান্ট
  • COLUMN_PRIVILEGES - কলাম-লেভেল গ্রান্ট

ফিল্টারিং উদাহরণ

-- নির্দিষ্ট ডেটাবেসের গ্রান্ট
SELECT * FROM INFORMATION_SCHEMA.SCHEMA_PRIVILEGES WHERE TABLE_SCHEMA = 'mydb';

-- নির্দিষ্ট ব্যবহারকারীর গ্রান্ট
SELECT * FROM INFORMATION_SCHEMA.SCHEMA_PRIVILEGES WHERE GRANTEE LIKE '%Adam%';
  1. MySQL-এ IF() ফাংশন ব্যবহার করে খালি কলামের জন্য কাস্টম টেক্সট দেখান

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

  3. MySQL-এ information_schema.columns থেকে টেবিলের সব ফিল্ড (কলাম) দেখানো

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

কপিরাইট © https://bd.wsxdn.com সমস্ত অধিকার সংরক্ষিত
কলামঅর্থ
GRANTEEব্যবহারকারী অ্যাকাউন্ট (user@host)
TABLE_CATALOGক্যাটালগ নাম (সাধারণত 'def')
TABLE_SCHEMAডেটাবেস/স্কিমা নাম
PRIVILEGE_TYPEঅধিকার টাইপ (SELECT, INSERT, ইত্যাদি)
IS_GRANTABLEYES = এই অধিকার অন্যদোও দিতে পারবে