अन्य पीसी को MySQL डेटाबेस से कनेक्ट करने की अनुमति देने के लिए सेटिंग्स (विंडोज संस्करण)

पेज अद्यतन :
पेज निर्माण की तारीख :

ऑपरेटिंग वातावरण

MySQL
  • MySQL 8.0
विंडोज़
  • विंडोज 11

आवश्यकताएँ

MySQL
  • MySQL 8.0
विंडोज़
  • विंडोज 11
  • विंडोज 10
विंडोज सर्वर
  • विंडोज सर्वर 2022
  • विंडोज सर्वर 2019
  • विंडोज सर्वर 2016
  • विंडोज सर्वर 2012 आर 2

पूर्व शर्त

  • MySQL 8 स्थापित है

फ़ायरवॉल की जाँच करना

MySQL में, फ़ायरवॉल स्थापना के दौरान निम्न स्क्रीन पर सेट किया गया है, इसलिए आपको किसी भी अतिरिक्त सेटिंग्स को कॉन्फ़िगर करने की आवश्यकता नहीं है।

बस मामले में अपनी फ़ायरवॉल सेटिंग्स की जाँच करें। चूंकि विंडोज के संस्करण के आधार पर डिस्प्ले भिन्न होने तक ऑपरेशन होता है, इसे प्रदर्शित करने के लिए स्टार्ट मेनू में "फ़ायरवॉल" दर्ज करें।

बाईं ओर मेनू से "उन्नत" चुनें।

यदि आप बाईं ओर से "इनबाउंड नियम" चुनते हैं, तो आप देख सकते हैं कि "पोर्ट 3306" और "पोर्ट 33060" सूची में जोड़े गए हैं। यह वही है जो MySQL में जोड़ा गया था।

कॉन्फ़िगरेशन फ़ाइल की जाँच करना

पहले, कॉन्फ़िगरेशन फ़ाइल से बदलना आवश्यक bind-address था, लेकिन वर्तमान संस्करण में, यह आइटम मौजूद नहीं है, इसलिए सेटिंग को बदलने की कोई आवश्यकता नहीं है।

विंडोज़ पर MySQL के लिए कॉन्फ़िगरेशन फ़ाइल निम्नलिखित स्थानों में पाई जा सकती है: ProgramData फ़ोल्डर छिपा हुआ है, इसलिए फ़ाइल एक्सप्लोरर के एड्रेस बार में सीधे पथ दर्ज करें या छिपे हुए फ़ोल्डर को दृश्यमान होने के लिए सेट करें।

C:\ProgramData\MySQL\MySQL Server 8.0\my.ini

उपयोगकर्ता पहुँच अनुमति सेटिंग्स

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

मैं इस बार खाता जोड़ने के चरण को सहेजने के लिए एक खाते पर काम कर root रहा हूं। वास्तविक संचालन में, एक अलग उपयोगकर्ता खाता बनाना और उस खाते से कनेक्शन की अनुमति देना वांछनीय है।

कनेक्शन की अनुमति देने के दो तरीके हैं: किसी आदेश का उपयोग करके या GUI का उपयोग करके.

उपयोगकर्ता पहुँच विशेषाधिकार (GUI संचालन) सेट करना

स्टार्ट मेनू से, इसे शुरू करने के लिए "MySQL -> MySQL वर्कबेंच 8.0 CE" चुनें।

जब आप इसे शुरू करते हैं, तो निचले बाएँ कोने में एक डिफ़ॉल्ट उदाहरण होता है, इसलिए इसे चुनें।

आपसे पासवर्ड मांगा जाएगा, इसलिए रूट अकाउंट से लॉग इन करें।

बाईं ओर नेविगेटर मेनू से व्यवस्थापन टैब का चयन करें और उपयोगकर्ता और विशेषाधिकार चुनें.

सूची में, उस खाते का चयन करें जिसके लिए आप अनुमतियाँ परिवर्तित करना चाहते हैं. root इस मामले में, हमने एक खाता चुना है।

Limit to Hosts Matching मुझे लगता है कि एक आइटम है और यह डिफ़ॉल्ट रूप से सेट है localhost । इसका मतलब है कि इसे केवल लोकलहोस्ट से ही एक्सेस किया जा सकता है। इस मान को उन PC के IP पतों पर सेट करें जिनसे आप कनेक्शन की अनुमति देना चाहते हैं. यदि आप सामान्य रूप से प्रवेश करते हैं, तो केवल एक इकाई को लक्षित किया जाएगा, लेकिन यदि आप एक श्रेणी का चयन करना चाहते हैं, तो आप वाइल्डकार्ड "%" का उपयोग कर सकते हैं, इसलिए यदि आप "192.168.0.%" निर्दिष्ट करते हैं, तो आप "192.168.0.0" ~ "192.168.0.255" की अनुमति देंगे।

एक बार दर्ज करने के बाद, आप नीचे दाईं ओर "लागू करें" बटन पर क्लिक करके इसे लागू कर सकते हैं।

आप देख सकते हैं कि उपयोगकर्ता सूची भी बदल गई है।

उपयोगकर्ता पहुँच विशेषाधिकार (आदेश) सेट करना

संपूरक
यह निश्चित जानकारी नहीं है क्योंकि यह अनुसंधान के दायरे में है, लेकिन MySQL 8 में, उपयोगकर्ता बनाए जाने के बाद अनुमति होस्ट को कमांड के साथ बदलना संभव नहीं है, इसलिए उपयोगकर्ता निर्माण के समय होस्ट की पुष्टि करना आवश्यक है।

स्टार्ट मेनू से, "MySQL -> MySQL 8.0 कमांड लाइन क्लाइंट" चुनें और इसे चलाएं।

आपको पासवर्ड के लिए संकेत दिया जाएगा, अतः रूट शब्दबो दर्ज करें.

आप निम्न आदेश दर्ज करके उपयोगकर्ताओं और मेजबानों की सूची ब्राउज़ कर सकते हैं:

select user,host from mysql.user;

उपयोगकर्ता बनाने के लिए, निम्न आदेश दर्ज करें: उस पीसी का आईपी पता दर्ज करें जिसे आप बाहरी रूप से "अनुमति होस्ट" से कनेक्ट करना चाहते हैं। चूंकि वाइल्डकार्ड "%" का उपयोग किया जा सकता है, इसलिए सभी से पहुंच की अनुमति देने के लिए "%" दर्ज करें, और "192.168.0.0" ~ "192.168.0.255" को "192.168.0.%" की अनुमति देने के लिए। यदि आप "%" शामिल करना चाहते हैं, तो इसे एकल उद्धरण चिह्नों में संलग्न करें।

create user <ユーザー名>@<アクセス許可ホスト> identified by '<パスワード>';

उदाहरण इनपुट

create user user1@'192.168.0.%' identified by 'xxxxxxxx';

मैं उपरोक्त कमांड के साथ एक उपयोगकर्ता बनाने में सक्षम था, लेकिन मेरे पास कोई एक्सेस विशेषाधिकार नहीं है, इसलिए मैं निम्न कमांड के साथ अनुमतियां जोड़ता हूं।

विशेषाधिकारों के प्रकारों में "सभी [विशेषाधिकार]", "बनाएँ (डेटाबेस, तालिकाएँ, आदि बनाने की अनुमति)", और "चयन करें (तालिका रिकॉर्ड ब्राउज़ करें)"। अनुमतियों की सामग्री के लिए कृपया आधिकारिक वेबसाइट देखें

सेट की जाने वाली अनुमतियों को प्रति-डेटाबेस या प्रति-तालिका के आधार पर निर्दिष्ट किया जा सकता है। यदि आप "*.*" दर्ज करते हैं, तो आप सभी डेटाबेस और तालिकाओं के लिए पहुँच अनुमतियाँ सेट कर सकते हैं।

grant <権限の種類> on <データベース名>.<テーブル名> to <ユーザー名>@<アクセス許可ホスト>;

उदाहरण इनपुट

grant all privileges on *.* to user1@'192.168.0.%';

सेटिंग्स को प्रतिबिंबित करने के लिए, निम्न आदेश दर्ज करें:

flush privileges;

यदि आप उपयोगकर्ता सूची को फिर से जांचते हैं, तो आप पुष्टि कर सकते हैं कि इसे बनाया और कॉन्फ़िगर किया गया है।

कनेक्शन चेक

कोई भी उपकरण जिसे बाहर से जोड़ा जा सकता है वह ठीक है, लेकिन इस बार हम MySQL के आधिकारिक क्लाइंट Workbench से जुड़ने का प्रयास करेंगे।

कार्यक्षेत्र प्रारंभ करें यदि आपने इसे किसी अन्य PC पर स्थापित किया है.

एक MySQL कनेक्शन जोड़ें।

कनेक्शन के लिए आवश्यक सेटिंग्स दर्ज करें। आप एक DNS नाम का उपयोग कर सकते हैं, लेकिन किसी कारण से मैं वर्कबेंच से कनेक्ट नहीं हो सका, इसलिए मैंने इसे आईपी पते से निर्दिष्ट किया।

यदि कनेक्शन की जाँच की जाती है और सफल होती है, तो यह अनुमान लगाया जा सकता है कि सेटिंग सामान्य है।