MySQL সংযোগ দ্বারা ব্যবহৃত সংযোগ পদ্ধতি নির্ধারণ করতে নিচের কমান্ড ব্যবহার করা যায়:
netstat -ln | grep 'mysql'
ইউনিক্সে, MySQL প্রোগ্রামগুলো হোস্ট নাম localhost-কে বিশেষভাবে ট리트 করে। তাই এটি আশা অনুযায়ী আচরণ করে না।
সংযোগের ধরন
mysql CLI-এর ভিতর থেকে সংযোগের ধরন জানতে নিচের কমান্ড ব্যবহার করা যায়:
mysql> \s
আউটপুট −
Connection: 127.0.0.1 via TCP/IP (অথবা) Connection: Localhost via UNIX socket
লোকাল সার্ভারের সাথে TCP/IP সংযোগ
ক্লায়েন্ট লোকাল সার্ভারের সাথে TCP/IP সংযোগ করছে তা নিশ্চিত করতে --host বা -h ব্যবহার করা যায়। এটি হোস্ট নামের মান 127.0.0.1 নির্দিষ্ট করবে (localhost-এর বদলে)। এর পরিবর্তে লোকাল সার্ভারের IP ঠিকানা বা নামও দেওয়া যায়। লোকালহোস্টের জন্যও কানেকশন প্রোটোকল স্পষ্টভাবে --protocol=TCP অপশন দিয়ে বলা যায়। উদাহরণ দেখি:
shell> mysql --host=127.0.0.1 shell> mysql --protocol=TCP
--protocol={TCP|SOCKET|PIPE|MEMORY} অপশন স্পষ্টভাবে বলে দেয় যে সার্ভারের সাথে সংযোগ করার জন্য একটি নির্দিষ্ট প্রোটোকল ব্যবহার করতে হবে।
ইউনিক্সে localhost-এ সংযোগ
ইউনিক্সে localhost-এ সংযোগ ডিফল্টভাবে একটি Unix সকেট ফাইল দিয়ে করা হয়। নিচের কমান্ড দিয়ে কীভাবে করা হয় তা দেখি:
shell> mysql --host=localhost
TCP/IP সংযোগ বাধ্যতামূলক করতে --protocol অপশন নির্দিষ্ট করা যায়। কীভাবে করা যায়:
shell> mysql --host=localhost --protocol=TCP
কিছু প্রোটোকল টাইপ নিচে লিস্ট করা হলো:
TCP − লোকাল বা রিমোট সার্ভারের সাথে TCP/IP সংযোগ। সব প্ল্যাটফর্মে উপলব্ধ।
SOCKET − লোকাল সার্ভারের সাথে Unix সকেট ফাইল সংযোগ। শুধু ইউনিক্সে উপলব্ধ।
PIPE − লোকাল বা রিমোট সার্ভারের সাথে নেমড-পাইপ সংযোগ। শুধু উইন্ডোজে উপলব্ধ।
MEMORY − লোকাল সার্ভারের সাথে শেয়ার্ড-মেমরি সংযোগ। শুধু উইন্ডোজে উপলব্ধ।