मैं MySQL क्लाइंट द्वारा उपयोग की जाने वाली कनेक्शन विधि कैसे निर्धारित कर सकता हूं?


10

MySQL क्लाइंट का उपयोग करते समय (उदाहरण के लिए mysql) मैं यह कैसे निर्धारित कर सकता हूं कि यह सर्वर से यूनिक्स सॉकेट फ़ाइल का उपयोग करके या टीसीपी / आईपी का उपयोग करके जुड़ा हुआ है?

जवाबों:


13

परिवहन ढूंढना

उपयोग करने का प्रयास करें netstat -ln | grep 'mysql'और आप देख सकते हैं कि यह आउटपुट से कैसे जुड़ा हुआ है। यदि आपके पास शेल तक पहुंच है

यूनिक्स पर, MySQL प्रोग्राम होस्ट नाम लोकलहोस्ट का विशेष रूप से इलाज करते हैं, एक तरह से जो अन्य नेटवर्क-आधारित प्रोग्रामों की तुलना में आपकी अपेक्षा से भिन्न होता है। लोकलहोस्ट के कनेक्शन के लिए, MySQL प्रोग्राम एक यूनिक्स सॉकेट फ़ाइल का उपयोग करके स्थानीय सर्वर से कनेक्ट करने का प्रयास करता है।

पोर्ट नंबर निर्दिष्ट करने के लिए --portया -Pविकल्प दिए जाने पर भी ऐसा होता है ।

यदि आप mysql CLI के भीतर से कनेक्शन प्रकार जानना चाहते हैं , तो '\' s (स्थिति) कमांड का उपयोग करें।

mysql> \s

आउटपुट में निम्न में से एक (यूनिक्स पर) की तरह एक पंक्ति होगी।

Connection:             127.0.0.1 via TCP/IP

या

Connection:             Localhost via UNIX socket

एक विशेष परिवहन के लिए मजबूर करना

यह सुनिश्चित करें कि ग्राहक स्थानीय सर्वर, उपयोग करने के लिए एक टीसीपी / आईपी कनेक्शन बनाता है --hostया -hस्थानीय सर्वर का 127.0.0.1 के एक मेजबान के नाम मूल्य, या आईपी पते या नाम निर्दिष्ट करने के। आप --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

प्रोटोकॉल प्रकार:

  • टीसीपी: स्थानीय या रिमोट सर्वर से टीसीपी / आईपी कनेक्शन। सभी प्लेटफार्मों पर उपलब्ध है।
  • SOCKET: स्थानीय सर्वर से यूनिक्स सॉकेट फ़ाइल कनेक्शन। यूनिक्स पर ही उपलब्ध है।
  • पाइप: स्थानीय या रिमोट सर्वर से नामांकित-पाइप कनेक्शन। खिड़कियों पर ही उपलब्ध है।
  • मेमोरी: स्थानीय सर्वर के लिए साझा-स्मृति कनेक्शन। खिड़कियों पर ही उपलब्ध है।

एक यूनिक्स सॉकेट फ़ाइल कनेक्शन टीसीपी / आईपी से तेज है, लेकिन इसका उपयोग केवल उसी कंप्यूटर पर सर्वर से कनेक्ट करते समय किया जा सकता है।


@ अनिल: धन्यवाद, आपने इसे एक उत्कृष्ट उत्तर दिया।
यूजीन यर्मश
हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.