আমি কীভাবে কোনও মাইএসকিউএল ক্লায়েন্ট দ্বারা ব্যবহৃত সংযোগ পদ্ধতিটি নির্ধারণ করতে পারি?


10

মাইএসকিউএল ক্লায়েন্ট ব্যবহার করার সময় (উদাহরণস্বরূপ mysql) আমি কীভাবে এটি নির্ধারণ করতে পারি যে এটি ইউনিক্স সকেট ফাইল ব্যবহার করে বা টিসিপি / আইপি ব্যবহার করে সার্ভারের সাথে সংযুক্ত ছিল কিনা?

উত্তর:


13

পরিবহন সন্ধান করা হচ্ছে

ব্যবহার করার চেষ্টা করুন netstat -ln | grep 'mysql'এবং আউটপুট দ্বারা এটি কীভাবে সংযুক্ত রয়েছে তা আপনি দেখতে পারেন। যদি আপনার শেলের অ্যাক্সেস থাকে

ইউনিক্সে, মাইএসকিউএল প্রোগ্রামগুলি হোস্টের নাম লোকালহোস্টকে বিশেষভাবে বিবেচনা করে, এমন একটি উপায়ে যা অন্যান্য নেটওয়ার্ক-ভিত্তিক প্রোগ্রামগুলির তুলনায় আপনার প্রত্যাশার চেয়ে সম্ভবত আলাদা different লোকালহোস্টের সংযোগের জন্য, মাইএসকিউএল প্রোগ্রামগুলি ইউনিক্স সকেট ফাইল ব্যবহার করে স্থানীয় সার্ভারের সাথে সংযোগ স্থাপনের চেষ্টা করে।

পোর্ট নম্বর নির্দিষ্ট করার জন্য একটি --portবা -Pবিকল্প দেওয়া থাকলেও এটি ঘটে ।

মত yould থেকে সংযোগ প্রকার জানতে পারেন মধ্যে MySQL CLI, '\ s' এর (STATUS) কমান্ড ব্যবহার করুন।

mysql> \s

আউটপুটটিতে নিম্নলিখিতগুলির একটির মতো একটি লাইন থাকবে (ইউনিক্সে)।

Connection:             127.0.0.1 via TCP/IP

অথবা

Connection:             Localhost via UNIX socket

একটি বিশেষ পরিবহন জোর করে

স্থানীয় সার্ভারের সাথে ক্লায়েন্টটি একটি টিসিপি / আইপি সংযোগ স্থাপন করে তা নিশ্চিত করার জন্য , 127.0.0.1 এর হোস্ট নামের মান, বা স্থানীয় সার্ভারের আইপি ঠিকানা বা নাম নির্দিষ্ট করে দিন --hostবা -hনির্দিষ্ট করতে পারেন । আপনি --protocol=TCPবিকল্পটি ব্যবহার করে সংযোগ প্রোটোকলটি স্পষ্টভাবে, এমনকি লোকালহোস্টের জন্যও নির্দিষ্ট করে দিতে পারেন । উদাহরণ স্বরূপ:

shell> mysql --host=127.0.0.1
shell> mysql --protocol=TCP

--protocol={TCP|SOCKET|PIPE|MEMORY}বিকল্প স্পষ্টভাবে একটি প্রোটোকল সার্ভারে সংযোগ ব্যবহার করার জন্য নির্দিষ্ট করে। এটি কার্যকর হয় যখন অন্যান্য সংযোগের প্যারামিটারগুলি সাধারণত আপনার প্রযোজনার চেয়ে অন্য কোনও প্রোটোকল ব্যবহার করার কারণ ঘটায়। উদাহরণস্বরূপ, ইউনিক্সে লোকালহোস্টের সাথে সংযোগগুলি ইউনিক্স সকেট ফাইলটি ডিফল্টরূপে ব্যবহার করে তৈরি করা হয়:

shell> mysql --host=localhost

পরিবর্তে টিসিপি / আইপি সংযোগটি ব্যবহার করতে বাধ্য করতে, একটি --protocolবিকল্প নির্দিষ্ট করুন :

shell> mysql --host=localhost --protocol=TCP

প্রোটোকল ধরণের:

  • টিসিপি: স্থানীয় বা দূরবর্তী সার্ভারের সাথে টিসিপি / আইপি সংযোগ। সমস্ত প্ল্যাটফর্মে উপলব্ধ।
  • সকেট: স্থানীয় সার্ভারে ইউনিক্স সকেট ফাইল সংযোগ। শুধুমাত্র ইউনিক্সে উপলব্ধ।
  • পাইপ: স্থানীয় বা দূরবর্তী সার্ভারের সাথে নামযুক্ত পাইপ সংযোগ। শুধুমাত্র উইন্ডোতে উপলব্ধ।
  • স্মৃতি: স্থানীয় সার্ভারে ভাগ করা-মেমরি সংযোগ। শুধুমাত্র উইন্ডোতে উপলব্ধ।

একটি ইউনিক্স সকেট ফাইল সংযোগ টিসিপি / আইপির চেয়ে দ্রুত, তবে একই কম্পিউটারে কোনও সার্ভারের সাথে সংযোগ স্থাপনের সময়ই এটি ব্যবহার করা যেতে পারে।


@ আনিল: ধন্যবাদ, আপনি এটিকে একটি দুর্দান্ত উত্তর দিয়েছেন।
ইউজিন ইয়ারমশ
আমাদের সাইট ব্যবহার করে, আপনি স্বীকার করেছেন যে আপনি আমাদের কুকি নীতি এবং গোপনীয়তা নীতিটি পড়েছেন এবং বুঝতে পেরেছেন ।
Licensed under cc by-sa 3.0 with attribution required.