परिचय
MySQL डेटाबेस के साथ काम करते समय आपको सबसे पहले सोचने की आवश्यकता होगी कि डेटाबेस इंस्टेंस से कैसे कनेक्ट और इंटरैक्ट किया जाए। इसके लिए डेटाबेस क्लाइंट के बीच समन्वय की आवश्यकता होती है - वह घटक जिसे आप डेटाबेस के साथ इंटरैक्ट करने के लिए उपयोग करते हैं, और डेटाबेस सर्वर - वास्तविक MySQL इंस्टेंस जो आपके डेटा को स्टोर, व्यवस्थित और एक्सेस प्रदान करता है।
इस वजह से, आपको यह समझने की आवश्यकता है कि प्रमाणित करने के लिए आवश्यक जानकारी प्रदान करके क्लाइंट के रूप में कैसे कनेक्ट किया जाए। इस गाइड में, हम मूल mysql
. का उपयोग करके MySQL डेटाबेस से कनेक्ट करने का तरीका कवर करेंगे कमांड लाइन क्लाइंट — डेटाबेस इंस्टेंस के साथ इंटरैक्ट करने के सबसे सामान्य और उपयोगी तरीकों में से एक।
एक सहयोगी मार्गदर्शिका में, आप अपने प्रोजेक्ट की ज़रूरतों को पूरा करने के लिए MySQL के प्रमाणीकरण को कॉन्फ़िगर करने का तरीका जान सकते हैं। MySQL में प्रमाणीकरण कैसे काम करता है, इसकी पूरी तस्वीर के लिए दोनों गाइड पढ़ने पर विचार करें।
mysql
के बारे में बुनियादी जानकारी ग्राहक
mysql
क्लाइंट डिफ़ॉल्ट कमांड लाइन क्लाइंट और MySQL के लिए SQL शेल है। आप इसे अपने सर्वर के साथ एक शेल सत्र बनाने के लिए अंतःक्रियात्मक रूप से उपयोग कर सकते हैं या आप इसे उपयोगकर्ता सहभागिता के बिना चलाने के लिए SQL फ़ाइलों को फीड कर सकते हैं। कॉन्फ़िगरेशन विकल्पों को लागू करते समय और अपना परिवेश सेट करते समय यह विशेष रूप से उपयोगी होता है। आपके प्रोग्राम द्वारा उपयोग किए जाने वाले एक्सेस पैटर्न को विकसित करते समय इंटरएक्टिव एक्सप्लोरेशन और एड-हॉक क्वेरी भी एक मजबूत सूट हैं।
MySQL सर्वर से कनेक्ट और प्रमाणित करने का तरीका आपके सर्वर के कॉन्फ़िगरेशन पर निर्भर करता है। निम्नलिखित अनुभागों में, हम कुछ बुनियादी कनेक्शन विकल्पों के बारे में जानेंगे। स्पष्टता के लिए, हम स्थानीय और दूरस्थ कनेक्शन के बीच अंतर करेंगे:
- स्थानीय कनेक्शन :एक कनेक्शन जहां क्लाइंट और MySQL इंस्टेंस एक ही सर्वर पर स्थित होते हैं
- दूरस्थ कनेक्शन :जहां क्लाइंट किसी भिन्न कंप्यूटर पर चल रहे नेटवर्क-सुलभ MySQL इंस्टेंस से कनेक्ट हो रहा हो
आइए एक ही कंप्यूटर से डेटाबेस से कनेक्ट करना शुरू करें।
mysql
के साथ स्थानीय डेटाबेस से कनेक्ट करना
बिना किसी तर्क के, mysql
कमांड स्थानीय डेटाबेस तक पहुंचने के लिए यूनिक्स सॉकेट फ़ाइल से कनेक्ट करने का प्रयास करता है। आमतौर पर, डिफ़ॉल्ट सॉकेट फ़ाइल स्थान या तो कॉन्फ़िगरेशन फ़ाइल द्वारा या डिफ़ॉल्ट मान में संकलित द्वारा निर्धारित किया जाता है। डिफ़ॉल्ट रूप से, आपके ऑपरेटिंग सिस्टम के उपयोगकर्ता नाम का उपयोग डेटाबेस से कनेक्ट करने का प्रयास करने के लिए किया जाता है।
इसलिए यदि आपका वर्तमान उपयोगकर्ता आपके स्थानीय डेटाबेस पर एक मान्य MySQL उपयोगकर्ता है, तो आप टाइप करके कनेक्ट करने का प्रयास कर सकते हैं:
mysql
यदि खाता मौजूद है और पासवर्ड की आवश्यकता नहीं है या यदि खाते के लिए MySQL सॉकेट प्रमाणीकरण कॉन्फ़िगर किया गया है, तो आप स्वचालित रूप से लॉग इन हो जाएंगे। यदि उपयोगकर्ता नाम MySQL में मौजूद नहीं है या यदि पासवर्ड या अतिरिक्त प्रमाणीकरण की आवश्यकता है, तो कमांड विफल हो जाएगी।
mysql
. के तरीके को नियंत्रित करने के लिए डेटाबेस में लॉगिन करने का प्रयास करता है, कमांड लाइन विकल्पों का उपयोग करके अपने कमांड के साथ अतिरिक्त जानकारी पास करता है:
--user=<username>
या-u <username>
:MySQL उपयोगकर्ता को प्रमाणित करने के लिए निर्दिष्ट करता है।--password
या-p
:MySQL को MySQL उपयोगकर्ता के लिए पासवर्ड के लिए संकेत देने के लिए कहता है।--host=127.0.0.1
या-h 127.0.0.1
:बताता हैmysql
यूनिक्स सॉकेट के बजाय स्थानीय टीसीपी लूपबैक पते का उपयोग करके स्थानीय MySQL इंस्टेंस से कनेक्ट करने के लिए। यदि आपका MySQL सर्वर यूनिक्स सॉकेट का उपयोग करने के लिए कॉन्फ़िगर नहीं है, तो इसका उपयोग करना महत्वपूर्ण है।
नोट: MySQL 127.0.0.1
की व्याख्या करता है इससे अलग localhost
. करता है . निर्दिष्ट करना 127.0.0.1
इंगित करता है कि आप एक TCP कनेक्शन का उपयोग करना चाहते हैं, जबकि localhost
MySQL को स्थानीय डेटाबेस से कनेक्ट करने के लिए यूनिक्स सॉकेट का उपयोग करने का प्रयास करेगा।
इसलिए, यदि आपको MySQL उपयोगकर्ता के रूप में लॉग इन करने की आवश्यकता है eva
पासवर्ड के साथ, लेकिन फिर भी कनेक्ट करने के लिए यूनिक्स सॉकेट का उपयोग करके, आप टाइप कर सकते हैं:
mysql --user=eva --password
mysql
क्लाइंट आपको खाते के लिए पासवर्ड के लिए संकेत देगा।
यदि आप एक ही उपयोगकर्ता नाम के साथ लॉग इन करने का प्रयास करना चाहते हैं, लेकिन स्थानीय डेटाबेस में एक टीसीपी कनेक्शन पर, आप इसके बजाय टाइप करेंगे:
mysql --user=eva --password --host=127.0.0.1
डिफ़ॉल्ट प्रमाणीकरण कॉन्फ़िगरेशन के साथ-साथ प्रारंभिक प्रशासनिक उपयोगकर्ता नाम और पासवर्ड भिन्न हो सकते हैं जो इस बात पर निर्भर करता है कि MySQL कैसे स्थापित किया गया था। हालाँकि, कई विधियाँ, यूनिक्स सॉकेट का उपयोग करने के लिए MySQL की स्थापना करती हैं और इसमें एक डिफ़ॉल्ट root
शामिल होता है व्यवस्थापकीय खाते के रूप में उपयोगकर्ता।
इन मामलों में, आप डेटाबेस में root
. के रूप में लॉग इन कर सकते हैं टाइप करके उपयोगकर्ता:
mysql --user=root --password
आगे बढ़ने के लिए आपको उस व्यवस्थापकीय पासवर्ड के लिए संकेत दिया जाएगा जिसे स्थापना के दौरान चुना या जेनरेट किया गया था।
ये सभी विधियां आपको स्थानीय MySQL डेटाबेस से कनेक्ट करने की अनुमति देती हैं।
दूरस्थ डेटाबेस से कनेक्ट करना
यदि आप दूरस्थ MySQL डेटाबेस से कनेक्ट करना चाहते हैं, तो आपको दूरस्थ होस्ट का नेटवर्क स्थान प्रदान करना होगा और संभावित रूप से कुछ अतिरिक्त जानकारी जोड़नी होगी।
उपलब्ध प्रमाणीकरण विधियां MySQL इंस्टेंस के कॉन्फ़िगरेशन के आधार पर भिन्न होती हैं। हालांकि, आमतौर पर, आपको प्रमाणित करने के लिए निम्नलिखित पैरामीटर प्रदान करने की आवश्यकता होती है:
विकल्प | विवरण |
---|---|
--host= या -h | नेटवर्क होस्ट नाम या MySQL सर्वर का IP पता। |
--port= या -p | नेटवर्क पोर्ट जिस पर MySQL सर्वर चल रहा है। यदि सर्वर पोर्ट 3306, डिफ़ॉल्ट MySQL पोर्ट का उपयोग कर रहा है, तो यह पैरामीटर छोड़ा जा सकता है। |
--user= या -u | डेटाबेस उपयोगकर्ता नाम जिसे आप कनेक्ट करना चाहते हैं। यदि निर्दिष्ट नहीं है, तो आपके ऑपरेटिंग सिस्टम उपयोगकर्ता नाम का उपयोग किया जाएगा। |
--password या -p | संकेत करें कि आप निर्दिष्ट खाते के लिए एक पासवर्ड प्रदान करना चाहते हैं। mysql एक बार जब आप Enter . दबाते हैं तो क्लाइंट आपको पासवर्ड के लिए संकेत देगा । |
MySQL डेटाबेस | MySQL डेटाबेस नाम जिसे आप एक्सेस करना चाहते हैं। यदि निर्दिष्ट नहीं है, mysql किसी विशिष्ट डेटाबेस से कनेक्ट किए बिना सर्वर से कनेक्ट होगा। |
दूरस्थ डेटाबेस से कनेक्ट करने का मूल स्वरूप आमतौर पर कुछ इस तरह दिखता है:
mysql --host=<hostname> --port=<port> --user=<user> --password <database>
Enter pressing दबाने के बाद , mysql
क्लाइंट आपको पासवर्ड के लिए संकेत देगा। यदि आप सफलतापूर्वक प्रमाणित करते हैं, तो एक नया इंटरैक्टिव MySQL सत्र शुरू हो जाएगा।
एक उदाहरण के रूप में, हम कल्पना कर सकते हैं कि निम्नलिखित आवश्यकताओं के साथ एक डेटाबेस से जुड़ना चाहते हैं:
- होस्टनाम:
myhost
- पोर्ट:1234
- डेटाबेस:
applicationdb
- उपयोगकर्ता नाम:
myapplicationuser
- पासवर्ड:
mypass
कॉलिंग mysql
निम्नलिखित विकल्पों के साथ आप प्रमाणित करने की अनुमति देंगे:
mysql --host=myhost --port=1234 --user=myapplicationuser --password applicationdb
एंटर दबाने पर, आपको एक पासवर्ड के लिए कहा जाएगा जहां आप mypass
. के साथ प्रमाणित कर सकते हैं ।
MySQL सर्वर के प्रमाणीकरण कॉन्फ़िगरेशन को एडजस्ट करना
यदि आप उन नियमों को संशोधित करना चाहते हैं जो यह निर्धारित करते हैं कि उपयोगकर्ता आपके MySQL इंस्टेंस को कैसे प्रमाणित कर सकते हैं, तो आप अपने सर्वर के कॉन्फ़िगरेशन को संशोधित करके ऐसा कर सकते हैं। आप इस लेख में पता लगा सकते हैं कि MySQL के प्रमाणीकरण कॉन्फ़िगरेशन को कैसे संशोधित किया जाए।
निष्कर्ष
इस गाइड में, हमने क्लाइंट साइड से MySQL ऑथेंटिकेशन को कवर किया है। हमने दिखाया कि mysql
. का उपयोग कैसे किया जाता है स्थानीय और दूरस्थ डेटाबेस इंस्टेंस दोनों से कनेक्ट करने के लिए कमांड लाइन क्लाइंट।
विभिन्न MySQL इंस्टेंस से कैसे जुड़ना है, यह जानना पहला कदम है जिसे आपको समझने की आवश्यकता है क्योंकि आप डेटाबेस सिस्टम को काम करना शुरू करते हैं। आप विकास के लिए एक स्थानीय MySQL इंस्टेंस चला सकते हैं जिसके लिए किसी विशेष प्रमाणीकरण की आवश्यकता नहीं है, लेकिन स्टेजिंग और उत्पादन में आपके डेटाबेस को लगभग निश्चित रूप से प्रमाणीकरण की आवश्यकता होगी। किसी भी मामले में प्रमाणित करने में सक्षम होने से आप अलग-अलग वातावरण में अच्छी तरह से काम कर सकेंगे।