मैंने एक दूरस्थ उबंटू मशीन पर MySQL सर्वर स्थापित किया है। root
उपयोगकर्ता में परिभाषित किया गया है mysql.user
तालिका इस तरह:
mysql> SELECT host, user, password FROM user WHERE user = 'root';
+------------------+------+-------------------------------------------+
| host | user | password |
+------------------+------+-------------------------------------------+
| localhost | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ip-10-48-110-188 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| 127.0.0.1 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
| ::1 | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+------------------+------+-------------------------------------------+
मैं root
मानक mysql
क्लाइंट का उपयोग करके उसी रिमोट मशीन कमांड-लाइन इंटरफ़ेस से उपयोगकर्ता के साथ पहुंच सकता हूं । अब मैं इंटरनेट पर प्रत्येक होस्ट से रूट एक्सेस की अनुमति देना चाहता हूं , इसलिए मैंने निम्नलिखित पंक्ति जोड़ने की कोशिश की (यह host
कॉलम को छोड़कर, पिछले डंप से पहली पंक्ति का एक सटीक डुप्लिकेट है ):
mysql> SELECT host, user, password FROM user WHERE host = '%';
+------------------+------+-------------------------------------------+
| host | user | password |
+------------------+------+-------------------------------------------+
| % | root | *xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx |
+------------------+------+-------------------------------------------+
लेकिन मेरे व्यक्तिगत पीसी पर मेरा क्लाइंट मुझे बताता है (मैंने सर्वर आईपी को अस्पष्ट किया है):
SQL त्रुटि (2003): '46 .xxx '(10061) पर MySQL सर्वर से कनेक्ट नहीं हो सकती
अगर यह एक प्रमाणीकरण त्रुटि या एक नेटवर्क त्रुटि है मैं नहीं बता सकता। सर्वर पर फ़ायरवॉल मैं बंदरगाह सक्षम 3306 / टीसीपी के लिए 0.0.0.0/0 , और यह मेरे लिए ठीक है ...
bind-address
my.cnf में