আসুন MySQL-এ ব্যবহৃত mysql_plugin ইউটিলিটি বুঝতে দিন -
mysql_plugin ইউটিলিটি MySQL অ্যাডমিনিস্ট্রেটরদের প্লাগইনগুলি পরিচালনা করতে দেয় যা একটি MySQL সার্ভার লোড করে।
এটি সার্ভার স্টার্টআপে অথবা রানটাইমে প্লাগইন ইনস্টল এবং আনইনস্টল প্লাগইন স্টেটমেন্টের সাহায্যে --plugin-লোড বিকল্পটি ম্যানুয়ালি নির্দিষ্ট করার বিকল্প প্রদান করে৷
প্লাগইন সক্ষম বা নিষ্ক্রিয় করতে mysql_plugin চালু করা হয়েছে কিনা তার উপর নির্ভর করে, ইউটিলিটি যথাক্রমে mysql.plugin টেবিলে সারি সন্নিবেশ বা মুছে দেয় যা প্লাগইন রেজিস্ট্রি হিসাবে কাজ করে।
সাধারণ সার্ভার স্টার্টআপের জন্য, সার্ভার স্বয়ংক্রিয়ভাবে mysql.plugin-এ তালিকাভুক্ত প্লাগইনগুলিকে লোড করে এবং সক্ষম করে।
প্লাগইন সক্রিয়করণের উপর অতিরিক্ত নিয়ন্ত্রণের জন্য, নির্দিষ্ট প্লাগইনগুলির জন্য নামকরণ করা --plugin_name বিকল্পগুলি ব্যবহার করা যেতে পারে৷
mysql_plugin-এর প্রতিটি আমন্ত্রণ একটি কনফিগারেশন ফাইল পড়বে যা একটি একক প্লাগইন লাইব্রেরি ফাইলে থাকা প্লাগইনগুলিকে কীভাবে কনফিগার করতে হয় তা নির্ধারণ করতে সাহায্য করে। mysql_plugin চালু করতে, নিচের কমান্ডটি ব্যবহার করা যেতে পারে −
mysql_plugin [options] plugin {ENABLE|DISABLE}
এখানে, 'প্লাগইন' কনফিগার করা প্লাগইনের নামকে বোঝায়।
ENABLE বা DISABLE কেস-সংবেদনশীল নয় এবং কনফিগারেশন ফাইলে নাম দেওয়া প্লাগইন লাইব্রেরির উপাদানগুলিকে সক্ষম বা নিষ্ক্রিয় করতে হবে কিনা তা নির্দিষ্ট করতে ব্যবহৃত হয়৷
প্লাগইন এর ক্রম এবং ENABLE বা DISABLE আর্গুমেন্ট কোন ব্যাপার না।
এটি বোঝার জন্য একটি উদাহরণ নেওয়া যাক -
একটি প্লাগইন লাইব্রেরি ফাইলের উপাদানগুলি কনফিগার করতে যার নাম লিনাক্সে 'myplugins.so' বা Windows-এ 'myplugins.dll' আছে, myplugins-এর একটি প্লাগইন মান নির্দিষ্ট করতে হবে।
ধরুন এই প্লাগইন লাইব্রেরিতে তিনটি প্লাগইন রয়েছে যথা- plugin1, plugin2, এবং plugin3, যার সবগুলোকেই mysql_plugin নিয়ন্ত্রণে কনফিগার করতে হবে।
নিয়ম অনুসারে, কনফিগারেশন ফাইলগুলিতে .ini এর প্রত্যয় এবং প্লাগইন লাইব্রেরির মতো একই বেস নাম থাকে, তাই এই প্লাগইন লাইব্রেরির ডিফল্ট কনফিগারেশন ফাইলের নাম হল 'myplugins.ini'৷
কনফিগারেশন ফাইলের বিষয়বস্তু দেখতে এইরকম হবে -
myplugins plugin1 plugin2 plugin3
myplugins.ini ফাইলের প্রথম লাইনটি লাইব্রেরি ফাইলের নাম বোঝায়, .so বা .dll-এর মতো কোনো এক্সটেনশন ছাড়াই।
অবশিষ্ট লাইনগুলি সেই উপাদানগুলির নাম যা সক্রিয় বা নিষ্ক্রিয় করতে হবে৷
ফাইলের প্রতিটি মান একটি পৃথক লাইনে থাকা উচিত।
যে লাইনগুলিতে প্রথম অক্ষরটি '#' তা একটি মন্তব্য হিসাবে বিবেচিত হয় এবং উপেক্ষা করা হয়৷
কনফিগারেশন ফাইলে তালিকাভুক্ত প্লাগইনগুলিকে সক্রিয় করতে, নীচে উল্লিখিত mysql_plugin-কে আহ্বান করতে হবে -
shell> mysql_plugin myplugins ENABLE
প্লাগইনগুলি নিষ্ক্রিয় করতে, ENABLE এর পরিবর্তে DISABLE ব্যবহার করা উচিত৷
৷একটি ত্রুটি ঘটে যদি mysql_plugin কনফিগারেশন ফাইল বা প্লাগইন লাইব্রেরি ফাইল খুঁজে না পায়, অথবা যদি mysql_plugin MySQL সার্ভার চালু করতে না পারে।
mysql_plugin নীচে উল্লিখিত বিকল্পগুলিকে সমর্থন করে। এগুলি কমান্ড লাইনে বা যেকোনো বিকল্প ফাইলের [mysqld] গ্রুপে নির্দিষ্ট করা যেতে পারে।
--help, -?
এটি একটি সাহায্য বার্তা প্রদর্শন এবং প্রস্থান করতে সাহায্য করে৷
--basedir=dir_name, -b dir_name
এটি সার্ভার বেস ডিরেক্টরিকে নির্দেশ করে৷
৷--দাতাদির=দির_নাম, -ডিদির_নাম
এটি সার্ভার ডেটা ডিরেক্টরি নির্দেশ করে৷
৷--my-print-defaults=file_name, -b file_name
এটি সেই পথকে নির্দেশ করে যেখানে my_print_defaults প্রোগ্রামটি বিদ্যমান।
--mysqld=file_name, -b file_name
এটি mysqld সার্ভারের পথ নির্দেশ করে।
--নো-ডিফল্ট, -p
এটি নির্দেশ করে যে কনফিগারেশন ফাইল থেকে কোনো মান পড়া উচিত নয়। এই বিকল্পটি একজন প্রশাসককে কনফিগারেশন ফাইল থেকে ডিফল্ট পড়া এড়িয়ে যেতে সক্ষম করে।
--plugin-dir=dir_name, -p dir_name
এটি সার্ভার প্লাগইন ডিরেক্টরি।
--ভারবোস, -v
এটি ভার্বোস মোডকে বোঝায়। এটি প্রোগ্রামটি কী করে সে সম্পর্কে আরও তথ্য মুদ্রণ করে। তথ্যের পরিমাণ বাড়াতে এই বিকল্পটি একাধিকবার ব্যবহার করা যেতে পারে।
--সংস্করণ, -V
এটি সংস্করণ তথ্য প্রদর্শন এবং প্রস্থান করতে সাহায্য করে৷