वह त्रुटि संदेश क्लाइंट (सर्वर नहीं) द्वारा उत्पन्न होता है क्योंकि सर्वर से कनेक्शन का प्रयास किया गया है लेकिन सर्वर तक नहीं पहुंचा जा सका।
इसके कई संभावित कारण हैं:
1) जांचें कि mysqld सर्वर पर चल रहा है:
ps -ef | grep mysqld
कुछ इस तरह लौटना चाहिए:
root 2435 2342 0 15:49 pts/1 00:00:00 /bin/sh /usr/local/mysql/bin/mysqld_safe --datadir=/usr/local/var/ --user=mysql
mysql 2480 2435 0 15:49 pts/1 00:00:00 /usr/local/mysql/libexec/mysqld --basedir=/usr/local/mysql --datadir=/usr/local/var/ --user=mysql ...
डेमॉन सेवा चलाने के लिए, रेडहैट/फेडोरा/सेंटोस पर चलाएँ:
service mysqld start
या फेडोरा रिलीज>=16 पर, जो सिस्टमड पर निर्भर करता है:
systemctl start mysqld.service
और सिस्टम बूट पर डेमॉन ऑटो-स्टार्टअप को सक्षम करने के लिए:
systemctl enable mysqld.service
2) उस पोर्ट की जाँच करें जिस पर सर्वर पर mysqld चल रहा है:
netstat -lnp | grep mysql
वापस आना चाहिए:
tcp 0 0 0.0.0.0:3306 0.0.0.0:* LISTEN 2480/mysqld
unix 2 [ ACC ] STREAM LISTENING 8101 2480/mysqld /tmp/mysql.sock
उत्तरार्द्ध स्थानीय कनेक्शन के लिए सॉकेट है, नेटवर्किंग के लिए पहला टीसीपी पोर्ट (डिफ़ॉल्ट 3306)। यदि पोर्ट डिफ़ॉल्ट पोर्ट नहीं है, तो आपको क्लाइंट पर कनेक्शन पोर्ट सेट करना होगा। यदि mysql क्लाइंट का उपयोग कर रहे हैं:
mysql dbname -uuser -ppasswd -P<port> ...
3) एक अलग नेट पते पर होने के कारण, जांचें कि सर्वर उन नेट एड्री के लिए सुनता है जिनसे आप कनेक्ट हो रहे हैं:फ़ाइल में /etc/my.cnf
लाइन के लिए खोजें:
bind_address=127.0.0.1
यदि पता 127.0.0.1 है तो केवल स्थानीय कनेक्शन की अनुमति है; अगर यह 172.16.1.0 होता, तो आप 172.16.2.xxx से कनेक्ट नहीं कर पाते
4) जांचें कि सर्वर पर कोई फ़ायरवॉल नहीं चल रहा है और MySQL पोर्ट से कनेक्शन अवरुद्ध कर रहा है (3306 डिफ़ॉल्ट पोर्ट है); अगर यह रेडहैट/फेडोरा/सेंटोस रन है
service iptables status