1. MySQL පරිශීලක අවසරයන් යනු කුමක්ද?
MySQL පරිශීලක අවසරයන් යනු දත්ත ගබඩාවක් තුළ එක් එක් පරිශීලකයාට කළ හැකි ක්රියාකාරකම් පාලනය කරන සැකසුම් වේ. නිවැරදි අවසර සැකසීම අනවසර ප්රවේශය සහ අනිච්චිත ක්රියාකාරකම් වැළැක්වීමට උපකාරී වේ.
ප්රධාන අවසර වර්ග
SELECT: දත්ත කියවීමට ඉඩ දේ.INSERT: නව දත්ත ඇතුළත් කිරීමට ඉඩ දේ.UPDATE: පවතින දත්ත සංස්කරණය කිරීමට ඉඩ දේ.DELETE: දත්ත මැකීමට ඉඩ දේ.CREATE: නව දත්ත ගබඩා හෝ වගු සෑදීමට ඉඩ දේ.DROP: පවතින දත්ත ගබඩා හෝ වගු මැකීමට ඉඩ දේ.ALL PRIVILEGES: ඉහත සඳහන් සියලු අවසර පරිශීලකයකුට ලබා දේ.
අවසරයන් නිවැරදිව සැකසීමෙන්, එක් එක් පරිශීලකයා අවශ්ය ක්රියාකාරකම් පමණක් සිදු කරන බව සහ දත්ත ගබඩා ආරක්ෂාව ශක්තිමත් කරන බව ඔබට සහතික කළ හැක.
2. පරිශීලක අවසරයන් පරීක්ෂා කිරීමේ ක්රම
MySQL හි, ඔබට විශේෂිත විධාන භාවිතා කර පරිශීලක අවසරයන් පරීක්ෂා කළ හැක.
වත්මන් පරිශීලකයා පරීක්ෂා කිරීම
වත්මන් සැසියේ භාවිතා වන පරිශීලක නාමය පරීක්ෂා කිරීමට, පහත විධානය භාවිතා කරන්න:
SELECT USER();
සත්යාපිත පරිශීලක නාමය සහ හෝස්ට් නාමය පරීක්ෂා කිරීමට, පහත විධානය භාවිතා කරන්න:
SELECT CURRENT_USER();
නියමිත පරිශීලකයකුගේ අවසර පරීක්ෂා කිරීම
නියමිත පරිශීලකයකුට ලබා දී ඇති අවසර පරීක්ෂා කිරීමට, පහත විධානය භාවිතා කරන්න:
SHOW GRANTS FOR 'username'@'hostname';
උදාහරණයක් ලෙස, example_user පරිශීලකයාගේ අවසර පරීක්ෂා කිරීමට:
SHOW GRANTS FOR 'example_user'@'localhost';
මෙම විධානය එම පරිශීලකයාට ලබා දී ඇති සියලු අවසර පෙන්වයි.
සියලු පරිශීලකයන් ලැයිස්තුගත කිරීම
දත්ත ගබඩාවේ සියලු පරිශීලකයන් සහ ඔවුන්ගේ හෝස්ට් තොරතුරු බැලීමට, පහත විධානය භාවිතා කරන්න:
SELECT user, host FROM mysql.user;
මෙම විධානය mysql දත්ත ගබඩාවේ user වගුවෙන් පරිශීලක නාම සහ හෝස්ට් නාම ලබාගෙන සියලු පරිශීලකයන්ගේ ලැයිස්තුවක් පෙන්වයි. 
3. පරිශීලක අවසර ලබාදීම සහ අවලංගු කිරීම
MySQL හි, ඔබට පරිශීලකයන්ට අවසර ලබාදීමට හෝ අවලංගු කිරීමට හැක. නිවැරදි අවසර කළමනාකරණය දත්ත ගබඩා ආරක්ෂාව වැඩිදියුණු කරයි.
අවසර ලබාදීම
පරිශීලකයකුට අවසර ලබාදීමට, GRANT ප්රකාශනය භාවිතා කරන්න.
GRANT privilege_name ON database_name.* TO 'username'@'hostname';
උදාහරණයක් ලෙස, example_db හි සියලු වගු සඳහා SELECT අවසර example_user පරිශීලකයාට ලබාදීමට:
GRANT SELECT ON example_db.* TO 'example_user'@'localhost';
එක්වරම බහු අවසර ලබාදීම
ඔබට එකවර බහු අවසර ලබාදිය හැක.
GRANT SELECT, INSERT, UPDATE ON example_db.* TO 'example_user'@'localhost';
මෙම ආකාරයෙන්, එක් විධානයක් මඟින් බහු අවසර කාර්යක්ෂමව ලබාදිය හැක.
අවසර අවලංගු කිරීම
අවශ්ය නොවන අවසර ඉවත් කිරීමට, REVOKE ප්රකාශනය භාවිතා කරන්න.
REVOKE privilege_name ON database_name.* FROM 'username'@'hostname';
උදාහරණයක් ලෙස, example_db හි INSERT අවසර example_user පරිශීලකයාගෙන් අවලංගු කිරීමට:
REVOKE INSERT ON example_db.* FROM 'example_user'@'localhost';
සියලු අවසර අවලංගු කිරීමට, පහත පරිදි ALL PRIVILEGES භාවිතා කරන්න:
REVOKE ALL PRIVILEGES ON example_db.* FROM 'example_user'@'localhost';
4. අවසර කළමනාකරණය සඳහා හොඳ පුරුදු
ප්රභල අවසර කළමනාකරණය දත්ත ගබඩා ආරක්ෂාව සහ මෙහෙයුම් කාර්යක්ෂමතාව දෙකම වැඩිදියුණු කරයි. පහත සඳහන්වන්නේ නිර්දේශිත හොඳ පුරුදු වේ.
අවම අවසර සංකල්පය
පරිශීලකයන්ට ඔවුන්ගේ කාර්යයන් සිදු කිරීමට අවශ්ය අවම අවසර පමණක් ලබා දෙන්න. මෙය අහඹු දෝෂ සහ අනවසර ප්රවේශය අවදානම අඩු කරයි.
නිතර අවසර සමාලෝචන
කාර්යභාර හෝ වගකීම් වෙනස් වීම අනුව පරිශීලක අවසර නිතර සමාලෝචනය කර, අවශ්ය නොවන අවසර ඉක්මනින් ඉවත් කරන්න.
රෝල්-ආධාරිත ප්රවේශ පාලනය (RBAC) ක්රියාත්මක කිරීම
සාමාන්ය අවසර කට්ටලයක් බෙදාගන්නා පරිශීලක කණ්ඩායම් (රෝල්) සකසා, රෝල් පරිශීලකයන්ට පවරන්න. මෙය අවසර කළමනාකරණය සරල කරයි.
පරීක්ෂණ ලොග් භාවිතා කිරීම
පරිශීලක ක්රියාකාරකම් පරීක්ෂණ ලොග් ලෙස සටහන් කර නිතර සමාලෝචනය කරන්න. මෙය අනවසර ක්රියාකාරකම් හෝ අසාමාන්ය හැසිරීම මුලදී හඳුනා ගැනීමට උපකාරී වේ. 
5. නිතර අසන ප්රශ්න (FAQ)
Q1: විශේෂිත පරිශීලකයෙකුට බහු දත්ත ගබඩා වලට ප්රවේශය තිබේදැයි කෙසේ පරීක්ෂා කළ හැකිද?
By using SHOW GRANTS FOR 'username'@'hostname';, you can list all privileges granted to that user across all databases.
SHOW GRANTS FOR 'username'@'hostname'; භාවිතා කිරීමෙන්, ඔබට එම පරිශීලකයාට සියලු දත්ත ගබඩා තුළ ලබා දී ඇති සියලු අවසර ලැයිස්තුගත කළ හැක.
Q2: එකවර බහු අවසර ලබා දීමට හෝ අවලංගු කිරීමට කෙසේද?
You can grant or revoke multiple privileges at the same time by separating them with commas in the GRANT or REVOKE statement. For example: GRANT SELECT, INSERT, UPDATE ON example_db.* TO 'username'@'localhost';
ඔබට GRANT හෝ REVOKE ප්රකාශනයේ කොමා (,) භාවිතා කර බහු අවසර එකවර ලබා දීමට හෝ අවලංගු කිරීමට හැක. උදාහරණයක්: GRANT SELECT, INSERT, UPDATE ON example_db.* TO 'username'@'localhost';
Q3: අහඹු ලෙස අවලංගු කරන ලද අවසර නැවත ලබා ගැනීමට කෙසේද?
If privileges have been revoked, you must grant them again using the GRANT command. It is recommended to keep a record of granted privileges or maintain backups before making changes.
අවසර අවලංගු කර ඇත්නම්, ඔබට GRANT විධානය භාවිතා කර ඒවා නැවත ලබා දිය යුතුය. වෙනස්කම් කිරීමට පෙර ලබා දී ඇති අවසර ලේඛනයක් තබා ගැනීම හෝ උපස්ථාපන (බැකප්) රැක ගැනීම සුපිරි ය.
Q4: විශේෂිත වගුවකට පමණක් අවසර ලබා දීමට හැකිද?
Yes. You can grant privileges to a specific table using the following format: GRANT privilege_name ON database_name.table_name TO 'username'@'hostname';
ඔව්. ඔබට පහත ආකාරයෙන් විශේෂිත වගුවකට අවසර ලබා දිය හැක: GRANT privilege_name ON database_name.table_name TO 'username'@'hostname';
6. සාරාංශය
MySQL user privilege management has a significant impact on database security and operational safety. By managing privileges properly, you can improve both data protection and efficiency.
MySQL පරිශීලක අවසර කළමනාකරණය දත්ත ගබඩා ආරක්ෂාව සහ මෙහෙයුම් ආරක්ෂාවට වැදගත් බලපෑමක් ඇත. අවසර නිසි ලෙස කළමනාකරණය කිරීමෙන්, ඔබට දත්ත ආරක්ෂාව සහ කාර්යක්ෂමතාව දෙකම වැඩිදියුණු කළ හැක.
අවසර කළමනාකරණයේ ප්රධාන කරුණු
- අවම අවසර සංකල්පය අනුගමනය කරන්න
- නිතර අවසර සමාලෝචන සිදු කරන්න
- කළමනාකරණය සරල කිරීම සඳහා රෝල්-අධාරිත ප්රවේශ පාලනය භාවිතා කරන්න
- අසාමාන්ය ක්රියාකාරකම් හඳුනා ගැනීමට සහ නිරීක්ෂණය කිරීමට පරීක්ෂණ ලොග් (audit logs) භාවිතා කරන්න
By following these best practices, you can achieve secure and efficient MySQL database operations.
මෙම හොඳම පුරුදු අනුගමනය කිරීමෙන්, ඔබට ආරක්ෂිත සහ කාර්යක්ෂම MySQL දත්ත ගබඩා මෙහෙයුම් ලබා ගත හැක.


