নতুন ইউজার তৈরি এবং Permissions সেট করা

MySQL সিকিউরিটি এবং ইউজার ম্যানেজমেন্ট - মাইএসকিউএল (MySQL) - Database Tutorials

435

MySQL-এ নতুন ইউজার তৈরি করা এবং তাদের জন্য উপযুক্ত permissions (অনুমতি) সেট করা একটি গুরুত্বপূর্ণ কাজ, বিশেষত যখন আপনি একাধিক ব্যবহারকারী বা অ্যাপ্লিকেশনকে আপনার ডেটাবেস অ্যাক্সেস দিতে চান। এখানে, CREATE USER, GRANT, এবং REVOKE কমান্ড ব্যবহার করে ইউজার তৈরি এবং তাদের permissions সেট করা হয়।


1. নতুন ইউজার তৈরি (CREATE USER)

MySQL-এ নতুন ইউজার তৈরি করতে CREATE USER কমান্ড ব্যবহার করা হয়। এটি ইউজারের নাম এবং পাসওয়ার্ড নির্ধারণ করে।

সিনট্যাক্স:

CREATE USER 'username'@'host' IDENTIFIED BY 'password';
  • username: ইউজারের নাম।
  • host: যে হোস্ট থেকে ইউজারটি কানেক্ট করবে (যেমন localhost বা % মানে যেকোনো হোস্ট থেকে কানেক্ট করা যাবে)।
  • password: ইউজারের পাসওয়ার্ড।

উদাহরণ:

CREATE USER 'new_user'@'localhost' IDENTIFIED BY 'secure_password';

এটি new_user নামে একটি নতুন ইউজার তৈরি করবে, যেটি শুধুমাত্র localhost থেকে কানেক্ট হতে পারবে এবং তার পাসওয়ার্ড হবে secure_password


2. Permissions সেট করা (GRANT)

একবার ইউজার তৈরি হলে, আপনাকে তাদের জন্য বিভিন্ন permissions সেট করতে হবে। GRANT কমান্ড ব্যবহার করে ইউজারকে নির্দিষ্ট permissions দেওয়া যায়।

সিনট্যাক্স:

GRANT privileges ON database_name.* TO 'username'@'host';
  • privileges: ইউজারকে দেওয়া permissions (যেমন, SELECT, INSERT, UPDATE, DELETE, ALL PRIVILEGES ইত্যাদি)।
  • database_name: যে ডেটাবেসে permissions দিতে হবে।
  • *: মানে সমস্ত টেবিলের জন্য permissions।
  • username: ইউজারের নাম।
  • host: ইউজারের কানেক্ট করার স্থান।

উদাহরণ:

  • SELECT permission:
GRANT SELECT ON mydatabase.* TO 'new_user'@'localhost';

এটি new_user ইউজারকে mydatabase ডেটাবেসে শুধুমাত্র SELECT permission দিবে।

  • ALL PRIVILEGES (সব permissions):
GRANT ALL PRIVILEGES ON mydatabase.* TO 'new_user'@'localhost';

এটি new_user ইউজারকে mydatabase ডেটাবেসের সমস্ত permissions (যেমন, SELECT, INSERT, UPDATE, DELETE, DROP, ইত্যাদি) দিবে।


3. Permissions পুনরায় রিফ্রেশ করা (FLUSH PRIVILEGES)

যখন আপনি ইউজারের permissions পরিবর্তন করেন, তখন FLUSH PRIVILEGES কমান্ড ব্যবহার করে MySQL সার্ভারকে নতুন permissions লোড করতে হয়।

FLUSH PRIVILEGES;

4. Permissions রিভোক (REVOKE)

যদি আপনি কোনো ইউজারের দেয়া permissions ফিরিয়ে নিতে চান, তবে REVOKE কমান্ড ব্যবহার করতে পারেন।

সিনট্যাক্স:

REVOKE privileges ON database_name.* FROM 'username'@'host';

উদাহরণ:

REVOKE SELECT ON mydatabase.* FROM 'new_user'@'localhost';

এটি new_user ইউজারকে mydatabase ডেটাবেসে SELECT permission ফিরিয়ে নেবে।


5. User Drop করা (DROP USER)

যদি আপনি কোনো ইউজার মুছে ফেলতে চান, তবে DROP USER কমান্ড ব্যবহার করতে পারেন। এটি ইউজারের সমস্ত permissions এবং ডেটাবেস অ্যাক্সেস মুছে ফেলবে।

সিনট্যাক্স:

DROP USER 'username'@'host';

উদাহরণ:

DROP USER 'new_user'@'localhost';

এটি new_user ইউজারকে localhost থেকে মুছে ফেলবে।


6. Permissions এর ধরন

MySQL-এ ইউজারের জন্য বিভিন্ন ধরনের permissions দেওয়া যায়। কিছু সাধারণ permissions নিচে দেওয়া হলো:

  • SELECT: ডেটাবেস থেকে ডেটা পড়া।
  • INSERT: ডেটাবেসে নতুন ডেটা ইনসার্ট করা।
  • UPDATE: ডেটাবেসে বিদ্যমান ডেটা আপডেট করা।
  • DELETE: ডেটাবেস থেকে ডেটা মুছে ফেলা।
  • CREATE: নতুন টেবিল বা ডেটাবেস তৈরি করা।
  • DROP: টেবিল বা ডেটাবেস মুছে ফেলা।
  • ALTER: টেবিলের কাঠামো পরিবর্তন করা।
  • ALL PRIVILEGES: সমস্ত অনুমতি দেওয়া।

7. টেবিল বা ডেটাবেসের জন্য Permissions

আপনি নির্দিষ্ট টেবিল বা ডেটাবেসের জন্যও permissions প্রদান করতে পারেন। উদাহরণস্বরূপ:

টেবিলের জন্য Permissions:

GRANT SELECT, INSERT ON mydatabase.mytable TO 'new_user'@'localhost';

এটি new_user ইউজারকে mydatabase ডেটাবেসের mytable টেবিলের জন্য SELECT এবং INSERT permissions দিবে।

ডেটাবেসের জন্য Permissions:

GRANT ALL PRIVILEGES ON mydatabase.* TO 'new_user'@'localhost';

এটি new_user ইউজারকে mydatabase ডেটাবেসের সমস্ত টেবিলের জন্য সমস্ত permissions দিবে।


8. গ্র্যান্ট করা এবং ইউজারের আইডেন্টিফাইড সেটিংস

এছাড়া ইউজারের সাথে অ্যাক্সেসের জন্য আইপি অ্যাড্রেস বা হোস্টও নির্দিষ্ট করা যেতে পারে, যাতে কিছু ইউজার শুধুমাত্র নির্দিষ্ট হোস্ট থেকে কানেক্ট হতে পারে।

CREATE USER 'new_user'@'192.168.1.100' IDENTIFIED BY 'password';

এটি ইউজারকে শুধুমাত্র 192.168.1.100 আইপি অ্যাড্রেস থেকে কানেক্ট হতে দেবে।


সারাংশ

MySQL-এ নতুন ইউজার তৈরি এবং তাদের permissions সেট করা একটি গুরুত্বপূর্ণ কাজ। CREATE USER কমান্ডের মাধ্যমে নতুন ইউজার তৈরি করা হয় এবং GRANT কমান্ডের মাধ্যমে তাদের প্রয়োজনীয় অনুমতি দেয়া হয়। REVOKE কমান্ডের মাধ্যমে permissions ফিরিয়ে নেওয়া যেতে পারে এবং DROP USER কমান্ডের মাধ্যমে ইউজার মুছে ফেলা যায়। ইউজারদের জন্য সঠিক permissions নির্ধারণ করা ডেটাবেসের নিরাপত্তা এবং কার্যক্ষমতা বজায় রাখতে সাহায্য করে।

Content added By
Promotion

Are you sure to start over?

Loading...