मुझे हाल ही में खुद भी यही समस्या हुई है। मैंने इसे निम्नलिखित करके काम किया:
MySQL कॉन्फ़िगरेशन संपादित करें
डिफ़ॉल्ट रूप से, MySQL दूरस्थ कनेक्शन स्वीकार करने के लिए कॉन्फ़िगर नहीं किया गया है। आप कॉन्फ़िगरेशन फ़ाइल को संशोधित करके दूरस्थ कनेक्शन सक्षम कर सकते हैं:
sudo nano /etc/mysql/my.cnf
[mysqld]
ढूंढें खंड। आपको जिस लाइन को बदलने की जरूरत है वह है bind-address
, जिसे 127.0.0.1
. के डिफ़ॉल्ट मान पर सेट किया जाना चाहिए . आप नेटवर्क पर अपने आरपीआई के आईपी को दिखाने के लिए इस लाइन को संपादित करना चाहते हैं (जो आपके उदाहरण से 192.168.1.102 प्रतीत होगा)। परिवर्तन लिखें।
MySQL सेवा को पुनरारंभ करें
sudo service mysql restart
MySQL अनुमतियां सेट करें
रूट के रूप में अपने MySQL उदाहरण से कनेक्ट करें:
mysql -p -u root
एक उपयोगकर्ता बनाएं:
CREATE USER '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- वाक्यविन्यास में एपॉस्ट्रॉफी ( ' ) आवश्यक हैं
- आईपी पता उस नेटवर्क पर डिवाइस का आईपी पता है जिससे आप कनेक्ट करने का प्रयास कर रहे हैं
प्रासंगिक डेटाबेस और तालिकाओं को अनुमति दें:
GRANT ALL PRIVILEGES ON <database>.* TO '<username>'@'<ip_address>' IDENTIFIED BY '<password>';
- पैरामीटर वे हैं जिनका उपयोग आपने पिछले चरण में अपना उपयोगकर्ता बनाने के लिए किया था
- * निर्दिष्ट डेटाबेस के भीतर सभी तालिकाओं तक पहुंच प्रदान करेगा। वैकल्पिक रूप से आप एक विशिष्ट तालिका निर्दिष्ट कर सकते हैं
- आप शायद केवल प्रासंगिक विशेषाधिकार देकर सुरक्षा को मजबूत करना चाहेंगे, लेकिन यह परीक्षण करने के लिए पर्याप्त होना चाहिए कि यह काम करता है
उम्मीद है कि ऐसा करना चाहिए!