মাইএসকিউএলে নতুন ব্যবহারকারী এবং অনুদানের অনুমতিগুলি কীভাবে তৈরি করবেন


মাইএসকিউএল একটি জনপ্রিয় এবং বহুল ব্যবহৃত ডাটাবেস ম্যানেজমেন্ট সিস্টেম যা ডেটা সঞ্চয় করে এবং সংগঠিত করে এবং ব্যবহারকারীদের এটি পুনরুদ্ধার করতে দেয়। এটি বিকল্পগুলির একটি বিশাল অ্যারের সাথে আসে যা ব্যবহারকারীদের সারণী এবং ডাটাবেসগুলিতে নির্দিষ্ট অনুমতি দেয়।

এই গাইডটিতে আপনি কীভাবে নতুন ব্যবহারকারী তৈরি করবেন এবং মাইএসকিউএল ডাটাবেসে অনুমতি প্রদান করবেন তা শিখবেন।

কীভাবে মাইএসকিউএল এ নতুন ব্যবহারকারী তৈরি করবেন

নতুন ব্যবহারকারী তৈরি করতে প্রথমে মাইএসকিউএল শেলটিতে লগ ইন করুন।

$ sudo mysql -u root -p

মাইএসকিউএল ডাটাবেস সেট আপ করার সময় পাসওয়ার্ডের পরে সূডো পাসওয়ার্ড সরবরাহ করুন এবং ENTER টিপুন। এরপরে, আপনি এই প্রম্পটটি পাবেন।

একটি নতুন ব্যবহারকারী তৈরি করতে, নীচে প্রদর্শিত বাক্য গঠন ব্যবহার করুন:

MariaDB [none]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

উদাহরণস্বরূপ, ডাটাবেসের মধ্যে ‘টেকমিন্ট’ নামে একটি নতুন ব্যবহারকারী তৈরি করতে, কমান্ডটি অনুরোধ করুন:

MariaDB [none]> CREATE USER 'tecmint'@'localhost' IDENTIFIED BY 'QkYKmw$5tec';

স্থানীয়ভাবে কোনও ব্যবহারকারী যুক্ত করার সময়, যেমন আপনি যে মাইএসকিউএল ইনস্টল করেছেন সেই সিস্টেমে ব্যবহারকারীর হোস্টটি স্থানীয় ঠিকানা হিসাবে নির্দিষ্ট করা হয়, আইপি ঠিকানা নয়। ‘লোকালহোস্ট’ কীওয়ার্ডটি ‘এই কম্পিউটারে’ অনুবাদ করে এবং মাইএসকিউএল এটি অনন্যভাবে আচরণ করে। মূলত, স্থানীয়ভাবে ইনস্টল করা মাইএসকিউএল ডাটাবেস সার্ভারের সাথে সংযোগ স্থাপনের জন্য মাইএসকিএল ক্লায়েন্ট দ্বারা লোকালহোস্ট ব্যবহৃত হয়।

এখনও অবধি, টেকমিন্ট ব্যবহারকারীর ডাটাবেসের সাথে ইন্টারঅ্যাক্ট করার অনুমতি নেই। প্রকৃতপক্ষে, ব্যবহারকারী এমনকি মাইএসকিউএল শেলটি অ্যাক্সেস করতে পারবেন না।

সারণী সহ সমস্ত ডেটাবেজে ব্যবহারকারীকে সম্পূর্ণ অ্যাক্সেস দেওয়ার জন্য রান করুন।

MariaDB [none]> GRANT ALL PRIVILEGES ON * . * TO 'tecmint'@'localhost';

উপরের কমান্ডটিতে, তারকাচিহ্নগুলি যথাক্রমে ডাটাবেস এবং সারণীতে নির্দেশ করে যা ব্যবহারকারী অ্যাক্সেস করতে পারে। এটি ব্যবহারকারীকে ডাটাবেসের সমস্ত অধিকার মঞ্জুরি দেয় - পড়ুন, লিখুন, সম্পাদনা করুন এবং সম্পাদনা করুন এবং অন্যান্য ডাটাবেস এবং সারণী জুড়ে সমস্ত কার্য সম্পাদন করে সম্পাদন করুন।

এখনও অবধি, আমরা ব্যবহারকারীকে ডাটাবেসে সম্পূর্ণ অ্যাক্সেস দিয়েছি। যদিও এটি মাইএসকিউএল ধারণাগুলি ব্যাখ্যা করতে সুবিধাজনক, এটি সাধারণত সুপারিশ করা হয় না কারণ এটি আপনার ডাটাবেসগুলিতে সুরক্ষা ঝুঁকি তৈরি করতে পারে। কোনও হ্যাকার যদি ব্যবহারকারীর পাসওয়ার্ডটি ধরে রাখেন তবে কী হতে পারে তা একবার ভেবে দেখুন। আমরা আরও এগিয়ে যাব এবং পরবর্তী বিভাগে নির্দিষ্ট অনুমতিগুলি কীভাবে নির্ধারণ করব তা নিয়ে আলোচনা করব।

আপনি যখন ব্যবহারকারীর কাছে অনুমতি বরাদ্দের কাজ শেষ করেন, পরিবর্তনগুলি কার্যকর হওয়ার জন্য প্রদর্শিত সমস্ত সুযোগগুলি পুনরায় লোড করুন।

MariaDB [none]> FLUSH PRIVILEGES

বিভিন্ন ব্যবহারকারীর অনুমতি কীভাবে দেবেন

আপনি ব্যবহারকারীদের মঞ্জুরি দিতে পারেন এমন সম্ভাব্য অনুমতিগুলির একটি বিচ্ছেদ এখানে রয়েছে:

  • সমস্ত ব্যক্তিগতকাজ - যেমনটি আগে দেখা গেছে, এটি কোনও মাইএসকিউএল ব্যবহারকারীকে একটি নির্দিষ্ট ডাটাবেসে সম্পূর্ণ অ্যাক্সেস দেয়
  • তৈরি করুন - ব্যবহারকারীদের নতুন ডাটাবেস বা টেবিল তৈরি করার অনুমতি দেয়
  • ড্রপ - ব্যবহারকারীদের ডেটাবেস বা ব্যবহারকারীদের মুছতে সক্ষম করে
  • INSERT - ব্যবহারকারীদের সারণিতে সারি সন্নিবেশ করার অনুমতি দেয়।
  • মোছা - ব্যবহারকারীদের টেবিলগুলি থেকে সারিগুলি মুছতে মঞ্জুরি দেয়
  • নির্বাচন করুন - 'নির্বাচন করুন' অনুমতি নিয়ে, ব্যবহারকারীরা একটি সারণির সামগ্রীগুলি পড়তে সক্ষম হন
  • আপডেট - ব্যবহারকারীদের একটি সারণীতে সারিগুলি আপডেট করার অনুমতি দেয়
  • অনুদান বিকল্প - ব্যবহারকারীরা অন্য ব্যবহারকারীদের সুবিধাগুলি মঞ্জুরি বা সরাতে পারবেন

নির্দিষ্ট ব্যবহারকারীর অনুমতি দেওয়ার জন্য বাক্য গঠনটি ব্যবহার করুন:

MariaDB [none]> GRANT permission_type ON database_name.table_name TO 'username'@'localhost';

অতিরিক্ত হিসাবে, আপনি প্রদর্শিত হিসাবে একটি একক তারকাচিহ্ন প্রতীক সহ একটি ডাটাবেসের সমস্ত টেবিলের অনুমতি বরাদ্দ করতে পারেন:

MariaDB [none]> GRANT permission_type ON database_name.* TO 'username'@'localhost';

উদাহরণস্বরূপ, ডাটাবেস টেস্টডিবি-র সমস্ত টেবিলের ‘টেকমিন্ট’ ব্যবহারকারীর জন্য নির্বাচন করার অনুমতি নির্বাচন করতে, কমান্ডটি চালান।

MariaDB [none]> GRANT SELECT ON testdb.* TO 'tecmint'@'localhost';

তারপরে পরিবর্তনগুলি কার্যকর হওয়ার জন্য সুবিধাগুলি ফ্লাশ করুন।

MariaDB [none]> FLUSH PRIVILEGES;

অতিরিক্ত হিসাবে, আপনি কমা হিসাবে পৃথক করে এক সাথে একাধিক অনুমতি বরাদ্দ করতে পারেন যা দেখানো হয়েছে।

MariaDB [none]> GRANT INSERT, UPDATE ON testdb.* TO 'tecmint'@'localhost';

কীভাবে মাইএসকিউএল অনুমতিগুলি প্রত্যাহার করবেন

কোনও ব্যবহারকারীর কাছ থেকে অনুমতি প্রত্যাহার করতে সিনট্যাক্সটি ব্যবহার করুন:

MariaDB [none]> REVOKE permission_type ON database_name.table_name FROM 'username'@'localhost';

উদাহরণস্বরূপ, ব্যবহারকারী ‘টেকমিন্ট’ এর থেকে INSERT অনুমতিগুলি বাতিল করতে, কমান্ডটি চালান run

MariaDB [none]> REVOKE INSERT ON testdb.* FROM tecmint'@'localhost';
MariaDB [none]> FLUSH PRIVILEGES

ব্যবহারকারীর বর্তমান অনুমতিগুলিতে উঁকি দেওয়ার জন্য, সম্পাদন করুন:

MariaDB [none]> SHOW GRANTS FOR 'username'@'localhost';

নীচের আউটপুট থেকে, আমরা দেখতে পাচ্ছি যে 'টেকমিন্ট' ব্যবহারকারীর কাছ থেকে টেস্টডিবি ডাটাবেসে কেবল নির্বাচন এবং আপডেটের অধিকার রেখেই INSERT এর অনুমতিটি বাতিল হয়ে গেছে।

নতুন ব্যবহারকারীর ব্যবহার করে মাইএসকিউএল শেলটিতে লগ ইন পরীক্ষা করতে, প্রথমে লগ আউট করুন।

MariaDB [none]> quit;

তারপরে আবার লগইন করুন।

$ sudo mysql -u tecmint -p

ব্যবহারকারীর পাসওয়ার্ড সরবরাহ করুন এবং শেল অ্যাক্সেস করতে ENTER টিপুন।

কোনও ব্যবহারকারীকে নামানোর জন্য, DROP কমান্ডটি ব্যবহার করুন, ঠিক যেমনটি আপনি কোনও ডাটাবেস মুছতে চাইবেন।

MariaDB [none]> DROP USER 'username'@'localhost';

আপনি নিম্নলিখিত মাইএসকিউএল সম্পর্কিত নিবন্ধগুলি পড়তে পছন্দ করতে পারেন:

  • মাইএসকিউএলে সাধারণ ত্রুটিগুলি সমাধানের জন্য দরকারী টিপস
  • মাইটোপ - লিনাক্সে মাইএসকিউএল/মারিয়াডিবি পারফরম্যান্স নিরীক্ষণের জন্য একটি দরকারী সরঞ্জাম
  • লিনাক্সে ডিফল্ট মাইএসকিউএল/মারিয়াডিবি পোর্ট কীভাবে পরিবর্তন করবেন
  • লিনাক্সে মাইএসকিউএল বা মারিয়াডিবি রুট পাসওয়ার্ড কীভাবে পুনরায় সেট করবেন

আশা করি, এখন অবধি, আপনি আপনার মাইএসকিউএল ডাটাবেস সার্ভারগুলিতে ব্যবহারকারী তৈরি করতে পারেন এবং স্বাচ্ছন্দ্যে অনুমতিগুলি বরাদ্দ করতে বা প্রত্যাহার করতে পারেন।