ERROR 2003 (HY000): '127.0.0.1' (111) पर MySQL सर्वर से कनेक्ट नहीं हो सकता


135

मैं निम्नलिखित कमांड का उपयोग करता हूं:

mysql -u root -h 127.0.0.1 -p

और त्रुटि संदेश है:

ERROR 2003 (HY000): Can't connect to MySQL server on '127.0.0.1' (111)

इसे ठीक करने में कौन मेरी मदद कर सकता है?


3
क्या Mysql Daemon चल रहा है? क्या फ़ायरवॉल मिल गया है? क्या आप mysql को डिफ़ॉल्ट पोर्ट टेलनेट कर सकते हैं 306 तो - टेलनेट लोकलहोस्ट 3306
एमएमएमएमएम

mysql डेमन चल रहा है। मुझे यकीन है।
चार्ली एप्स

1
क्या यह सिर्फ मैं हूं या यदि आप स्थानीय mysql सर्वर से जुड़ रहे हैं तो आपको मेजबान को निर्दिष्ट करने की आवश्यकता नहीं है जैसे mysql -u रूट -p को काम करना चाहिए?
RMCLeod

बस यह सुनिश्चित करने के लिए, आप स्थानीय रूप से db सर्वर से कनेक्ट करने का प्रयास कर रहे हैं?
जॉन केन

मैंने ubuntu-12.04.2 पर नए स्थापित mysql। संस्करण 14.14 डिस्ट्रीब्यूट 5.5.32 है, डिबियन-लिनक्स-गनु (x86_64) के लिए रीडलाइन 6.2 का उपयोग करते हुए, इसके डिफ़ॉल्ट कॉन्फिग में 'स्किप-नेटवर्किंग' नहीं है। तो आप इस संस्करण के साथ त्रुटि का सामना नहीं करेंगे।

जवाबों:


220

यदि आप उपयोग कर रहे हैं ubuntu, तो आपको इस त्रुटि से बचने के लिए निम्नलिखित चरणों का उपयोग करना होगा (यदि कोई प्रतिकृति सक्षम नहीं है):

  1. कमांड चलाएं vim /etc/mysql/my.cnf
  2. bind-address = 127.0.0.1# सिंबल का उपयोग करके टिप्पणी करें
  3. एक बार अपने mysql सर्वर को पुनरारंभ करें।

अपडेट करें

चरण 1 में, यदि आप फ़ाइल bind-addressमें नहीं मिल सकते हैं, तो फ़ाइल में देखें।my.cnf/etc/mysql/mysql.conf.d/mysqld.cnf

MySQL प्रतिकृति सक्षम होने की स्थिति में अपडेट करें

MySQL सर्वर को कनेक्ट करने का प्रयास करें IPजिसके लिए MySQL सर्वर 'my.cnf instead ofलोकलहोस्ट या 127.0.0.1` में बाँध रहा है ।


8
धन्यवाद!!! मैं लंबे समय से यह जानने की कोशिश कर रहा था! मैंने उस लाइन पर टिप्पणी की, फ़ाइल को सहेजा, और फिर भाग गया service mysql restart। और अब यह काम करता है!
रियान

मेरे मामले में, मेरे पास बाइंड-एड्रेस के लिए 127.0.0.1 के बजाय सर्वर का पता था। यदि आपके लिए यह मामला है, तो आपको यह भी टिप्पणी करनी होगी।
व्लाद श्नाकोवस्ज़की

4
वहाँ नहीं bind-address = 127.0.0.1है/etc/mysql/my.cnf
RegarBoy

6
@developer, मुझे यहाँ मिला: /etc/mysql/mysql.conf.d/mysqld.cnf
एक बार '

मैंने बाइंड-एड्रेस = <मुख्य सर्वर आईपी> को बदल दिया है, लेकिन mysql को पुनः आरंभ नहीं कर सकता।
अवी केहत

14

कनेक्ट करने या अपने में करने के localhostबजाय प्रयास 127.0.0.1करें connection-config। मेरे लिए एक डेबियन निचोड़ सर्वर पर काम किया


FYI करें यदि आप लोकलहोस्ट निर्दिष्ट करते हैं, जो कि टीसीपी सॉकेट के बजाय मैसकल को यूनिक्स सॉकेट (/ un/run/mysqld/mysqld.sock) के माध्यम से कनेक्ट करने के लिए कहता है।
ड्यूक

8

ऐसा तब होता है जब आप इसे कनेक्ट करने से पहले डेटाबेस को शुरू करना भूल जाते हैं:

mysql.server start

फिर

mysql -u root -p -h 127.0.0.1

मैक और लिनक्स पर टर्मिनल में। मेरा मानना ​​है कि यह विंडोज़ सीएमडी में समान है लेकिन मैं निश्चित नहीं हूं।
हेनरी

मुझे sudo service mysqld startMySQL समुदाय सर्वर के साथ अपने AWS EC2 उदाहरण में MySQL सर्वर शुरू करना था ।
हरशाइनो

6

मेरे मामले में (रिमोट कन्नेक्शन) ने सर्वर पर फ़ायरवॉल को बंद करने में मदद की।

service iptables stop

@ श्रम संभवतः आप कुछ अन्य फ़ायरवॉल का उपयोग कर रहे हैं। या आपकी समस्या कोई फ़ायरवॉल नहीं है। अपने linux distro के लिए प्रलेखन की जाँच करें।
बनीक

1
@ ट्रामservice firewalld stop
मैक्सिम मज़ुरोक

1
MySQL आम तौर पर पोर्ट 3306 पर चलता है, इसलिए इसे अपने फ़ायरवॉल में जोड़ें
kurdtpage

6

यह समस्या हो सकती है क्योंकि आपका MySQL सर्वर स्थापित और चालू नहीं है। ऐसा करने के लिए कमांड प्रॉम्प्ट को व्यवस्थापक के रूप में शुरू करें और कमांड दर्ज करें:

"C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin\mysqld" --install

यदि आपको "सेवा सफलतापूर्वक स्थापित" संदेश मिलता है, तो आपको MySQL सेवा शुरू करने की आवश्यकता है। ऐसा करने के लिए: सर्विसेज विंडो (टास्क मैनेजर -> सर्विसेज -> ओपन सर्विसेज) पर जाएं MySQL के लिए खोजें और इसे शीर्ष नेविगेशन बार से प्रारंभ करें। फिर अगर mysql.exe खोलने की कोशिश करें तो यह काम करेगा।


2
थोड़ी सी गलती, cd "C:\Program Files (x86)\MySQL\MySQL Server 5.1\bin" और फिर mysqld --install। इसके अलावा सर्वर नंबर डाउनलोड पर निर्भर करता है।
Dejazmach

ऐसा करने से मेरी समस्या ठीक हो गई
स्टेफी केरन रानी जे

6

पर देखने के my.cnfफ़ाइल, वहाँ शामिल करता है, तो [client]खंड, और portअन्य की तुलना में वास्तविक बंदरगाह (डिफ़ॉल्ट 3306) सुनने है, तो आप स्पष्ट पैरामीटर के साथ सर्वर से कनेक्ट करना होगा -P 3306, जैसे

mysql -u रूट -h 127.0.0.1 -p -P 3306


मैं कहाँ से खोज सकते हैं my.cnf। अपने लैपटॉप में वहाँ नहीं wamp सर्वर,
दीपक Keynes

खिड़कियों पर, यह आमतौर पर 'my.ini' कहता है
यू

मेरे लिए पोर्ट की समस्या थी। धन्यवाद
चंद्र एस्के

0

आपको mysql config फाइल (my.ini या my.cnf) में बाइंड-एड्रेस पैरामीटर को 127.0.0.1 में बदलने की जरूरत है या वहां परिभाषित एक का उपयोग करें।

यदि वह काम नहीं करता है तो आपको यह जांचना चाहिए कि mysql सेवा वास्तव में चल रही है।


1
मैंने फ़ाइल my.cnf में "bind-address = 127.0.0.1" लाइन जोड़ दी है। लेकिन यह काम नहीं करता है।
चार्ली एप्स

2
यदि यह रेखा मौजूद है, तो mysql केवल सूचीबद्ध पते पर ही सुनेगा। रिमोट एक्सेस को सक्षम करने के लिए, आपको इस लाइन को रिमूव करना चाहिए। इस बारे में सुरक्षा निहितार्थ से अवगत रहें।
वेबक्रैलर

bind-address =127.0.0.1my.cnf में जोड़ना DB के लिए दूरस्थ कनेक्शन को निष्क्रिय करता है। तो भले ही यह काम करेगा (जो ऐसा नहीं है) - यह एक अच्छा समाधान नहीं है।
निरफ अलेसी

बाइंड-एड्रेस 0.0.0.0 होना चाहिए जब तक आप किसी और को कनेक्ट नहीं करना चाहते ।
लोर्ने

0

यदि आपके एक गैर डिफ़ॉल्ट पोर्ट पर चल रहे हैं, तो आप का उपयोग कर कोशिश कर सकते हैं --port=<port num> प्रदान की --skip-networkingहैnot enabled.


0

मैं सिर्फ इस समस्या है .... Win7 में चल रहा है और सर्वर wamp ... यह पढ़ने के बाद

पाया कि एंटीवायरस फ़ायरवॉल समस्या का कारण बना है।


0

मैं भी उसी मुद्दे का सामना कर रहा था। निम्नलिखित ने मुझे पैनल को नियंत्रित करने में समस्या को ठीक करने में मदद की-> प्रशासनिक उपकरण -> इसके अंदर की सेवाएं आपको निश्चित रूप से MySQL servce: राइट क्लिक और स्टार्ट स्टार्ट (फोर्स स्टार्ट) कहेगी।


0

Docker उपयोगकर्ताओं के लिए - जब स्थानीय sql का उपयोग करने से कनेक्ट करने का प्रयास किया जा रहा हैmysql -u root -h 127.0.0.1 -pऔर आपका डेटाबेस Docker कंटेनरपर चल रहा है, तो सुनिश्चित करें कि mysql सेवा ऊपर और चल रही है (सत्यापित करेंdocker psऔर यह भी जांच लें कि आप सही पोर्ट में हैं), यदि कंटेनर नीचे आपको कनेक्शन त्रुटि मिलेगी।

/etc/hostsअपनी मशीन पर आईपी ​​सेट करने के लिए सबसे अच्छा अभ्यास है :

127.0.0.1 db.local

और इसके द्वारा चल रहा है mysql -u root -h db.local -p


0

IPtables बंद न करें और 3306 पोर्ट खोलें।

sudo iptables -A INPUT -i eth0 -p tcp -m tcp --dport 3306 -j ACCEPT

या sudo ufw allow 3306यदि आप ufw का उपयोग करते हैं।

जाँच करें: netstat -lnp | grep mysqlआप इस तरह sth मिलना चाहिए:

cp        0      0 127.0.0.1:3306          0.0.0.0:*               LISTEN      2048/mysqld         
tcp6       0      0 :::33060                :::*                    LISTEN      2048/mysqld         
unix  2      [ ACC ]     STREAM     LISTENING     514961   2048/mysqld          /var/run/mysqld/mysqld.sock
unix  2      [ ACC ]     STREAM     LISTENING     514987   2048/mysqld          /var/run/mysqld/mysqlx.sock

यदि आपके पास नल है, तो cnf फ़ाइल में पोर्ट = 3306 से पहले # हटा दें।


0

कृपया सुनिश्चित करें कि आपका MySql सर्वर लोकलहोस्ट पर चल रहा है।

लिनक्स पर

यह देखने के लिए कि क्या MySql सर्वर चल रहा है:

sudo service mysql status

MySql सर्वर चलाने के लिए:

sudo service mysql start

विंडोज पर

यह देखने के लिए कि क्या MySql सर्वर चल रहा है:

C:\Windows\system32>net start

यदि MySql सूची में नहीं है, तो आपको MySql को प्रारंभ / चलाना होगा।

MySql सर्वर चलाने के लिए:

C:\Windows\system32>net start mysql

उम्मीद है की यह मदद करेगा।



-2

मैं बस अपने mysql सर्वर को पुनः आरंभ करता हूँ और विंडोज़ नेट में समस्या का समाधान किया जाता है MySQL तब net start MySQl ubuntu linux sudo service start mysql

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.