আসুন আমরা ডিফল্ট বিকল্পগুলি বুঝতে পারি, যে বিকল্পগুলি মানগুলি আশা করে এবং MySQL-এ ‘=’ চিহ্ন -
নিয়ম অনুসারে, বিকল্পগুলির দীর্ঘ ফর্ম যা একটি মান নির্ধারণ করে একটি সমান (=) চিহ্ন ব্যবহার করে লেখা হয়। এটি নীচে দেখানো হয়েছে -
mysql --host=tonfisk --user=jon
যে বিকল্পগুলির জন্য একটি মান প্রয়োজন, অর্থাৎ যার কোনো ডিফল্ট মান নেই, সমান চিহ্নের প্রয়োজন নেই৷ এর মানে হল নিচের কমান্ডটি এই ধরনের ক্ষেত্রে বৈধ হবে -
mysql --host tonfisk --user jon
উপরের উভয় ক্ষেত্রেই, mysql ক্লায়েন্ট একটি MySQL সার্ভারের সাথে সংযোগ করার চেষ্টা করে যা হোস্টে "tonfisk" নামে একটি অ্যাকাউন্টের সাহায্যে চলছে যার ব্যবহারকারীর নাম "jon"৷
এই আচরণের কারণে, সমস্যাগুলি মাঝে মাঝে দেখা যেতে পারে যখন একটি বিকল্পের জন্য কোন মান প্রদান করা হয় না যা একটি মান প্রদানের আশা করে।
উদাহরণ
যখন একজন ব্যবহারকারী হোস্ট টনফিস্কে চলমান একটি মাইএসকিউএল সার্ভারের সাথে ইউজার জোন হিসাবে সংযোগ করেন, তখন নীচের কমান্ডটি চালানো হয় -
shell> mysql --host 85.224.35.45 --user jon
আউটপুট
Welcome to the MySQL monitor. Commands end with ; or \g. Your MySQL connection id is 3 Server version: 8.0.25 Source distribution Type 'help;' or '\h' for help. Type '\c' to clear the buffer.
তারপর, আমরা নিচের কমান্ডটি চালাই -
কোয়েরি
mysql> SELECT CURRENT_USER();নির্বাচন করুন
আউটপুট
+----------------+ | CURRENT_USER() | +----------------+ | jon@% | +----------------+ 1 row in set (0.00 sec)
যখন এই বিকল্পগুলির একটির জন্য প্রয়োজনীয় মানটি বাদ দেওয়া হয়, তখন এটি একটি ত্রুটি দেখায়। ত্রুটিটি দেখতে নিচের মত হতে পারে -
shell> mysql --host 85.224.35.45 –user
আউটপুট
mysql: option '--user' requires an argument
উপরের ক্ষেত্রে, mysql --user বিকল্পের পরে একটি মান খুঁজে পায়নি কারণ কমান্ড লাইনে এর পরে কিছুই আসেনি। কিন্তু ব্যবহারকারী যদি এমন একটি বিকল্পের মান বাদ দেন যা ব্যবহার করার শেষ বিকল্প নয়, তাহলে একটি ভিন্ন ত্রুটি পাওয়া যায়, যা ব্যবহারকারীর দ্বারা প্রত্যাশিত নাও হতে পারে -
shell> mysql --host --user jon
আউটপুট
ERROR 2005 (HY000): Unknown MySQL server host '--user' (1)