डेटाबेस सर्वर (mysql कार्यक्षेत्र) से कनेक्ट नहीं किया जा सकता


89

क्या आप इस समस्या को हल करने में मेरी मदद कर सकते हैं?

जब मैं मैसुकल कार्यक्षेत्र में डेटाबेस मेनू के तहत "क्वेरी डेटाबेस" पर क्लिक करने का प्रयास करता हूं। यह मुझे एक त्रुटि देता है:

Cannot Connect to Database Server

Your connection attempt failed for user 'root' from your host to server at 
127.0.0.1:3306:Can't connect to mysql server on '127.0.0.1'(10061)

Please:

 1. Check that mysql is running on server 127.0.0.1
 2. Check that mysql is running on port 3306 (note: 3306 is the default, but this can 
    be changed)
 3. Check the root has rights to connect to 127.0.0.1 from your address (mysql rights 
    define what clients can connect to the server and from which machines) 
 4. Make sure you are both providing a password if needed and using the correct 
    password for 127.0.0.1 connecting from the host address you're connecting from


3
इस जवाब ने मेरे लिए काम किया। stackoverflow.com/questions/16129399/…
mcaleaa

मेरे मामले में सरल पुनरारंभ सहायता - लेकिन मैं सबसे पहले @sergio सुझाव की जांच करता हूं - stackoverflow.com/a/7875732/6705161
dannydedog

जवाबों:


105

सॉकेट प्रमाणीकरण मूल उपयोगकर्ता के लिए डिफ़ॉल्ट रूप से सक्षम होने के कारण समस्या है, जब कोई पासवर्ड सेट नहीं है, तो ubuntu 16.04 में अपग्रेड के दौरान।

समाधान मूल पासवर्ड प्रमाणीकरण पर वापस लौटने के लिए है। आप MySQL में सॉकेट प्रमाणीकरण का उपयोग करके लॉग इन करके ऐसा कर सकते हैं:

sudo mysql -u root

एक बार लॉग इन करने के बाद:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

जो मूल (पुराने डिफ़ॉल्ट) पासवर्ड प्रमाणीकरण पर वापस आ जाएगा।

अब का उपयोग पासवर्ड पासवर्ड के रूप में जब भी MySQL के लिए आवश्यक।


3
इसने मेरे लिए काम किया, मुझे आश्चर्य है, मैंने पहले ही सख्त पासवर्ड कॉन्फ़िगर कर दिया है, जबकि mysql और उसी सख्त पासवर्ड का उपयोग किया है, जिसमें दिए गए परिवर्तन क्वेरी है। मैं यह जानने के लिए उत्सुक हूं कि इसने पहले प्रयास में ही काम क्यों नहीं किया
विपुल पाटिल

आपका बहुत बहुत धन्यवाद! क्या यह व्यवहार केवल यूनिक्स रूट उपयोगकर्ता के लिए पासवर्ड दर्ज किए बिना mysql में लॉगिन करने के लिए बनाया गया है?
इगोर डी लोरेंज़ी

1
महान समाधान। धन्यवाद भाई!
वेलनी फारिया

57

services.mscप्रारंभ मेनू खोज बॉक्स से खोलने का प्रयास करें और मैन्युअल रूप से MySQL सेवा शुरू करने का प्रयास करें या सीधे बॉक्स services.msc में लिखेंRun


1
मेरे लिए काम नहीं किया। सीधे कमांड लाइन से चल रहा है । कमांड लाइन "व्यवस्थापक के रूप में") तो मैं एक तरह से सेवा शुरू करने के लिए "व्यवस्थापक के रूप में" इस का समाधान होगा खोजने supose।
एड्रियन रहो

5
स्टार्ट मेन्यू सर्च बॉक्स कहाँ है?
हर कोई

मेरा समाधान सूदो के साथ मैसकेल-वर्कबेन्च चला था sudo mysql-workbench :। नहीं पता था कि कहां पाया जाए services.msc
Luigi Lopez

33

ऐसा लगता है कि इस त्रुटि के कई कारण हैं।

मेरा कारण / समाधान

मेरे मामले में, इसका कारण यह था कि मेरा सर्वर स्थानीयहोस्ट से केवल कनेक्शन स्वीकार करने के लिए कॉन्फ़िगर किया गया था। मैंने इस लेख का अनुसरण करके इसे ठीक किया: मैं MySQL डाटाबेस सर्वर के लिए रिमोट एक्सेस कैसे सक्षम करूं? । मेरी my.cnfफाइल में कोई skip-networkingलाइन नहीं थी, इसलिए मैंने बस लाइन बदल दी

bind-address = 127.0.0.1

सेवा

bind-address = 0.0.0.0

यह किसी भी आईपी से कनेक्शन की अनुमति देता है, न कि केवल 127.0.0.1।

फिर, मैंने एक MySql उपयोगकर्ता बनाया जो निम्नलिखित टर्मिनल कमांड चलाकर अपने क्लाइंट मशीन से जुड़ सकता है:

# mysql -u root -p
mysql> CREATE USER 'username'@'1.2.3.4' IDENTIFIED BY 'password';
    -> GRANT ALL PRIVILEGES ON *.* TO 'username'@'1.2.3.4' WITH GRANT OPTION;
    -> \q

1.2.3.4उस क्लाइंट का IP कहां है, जिससे आप कनेक्ट करने का प्रयास कर रहे हैं। यदि आपको वास्तव में परेशानी है, तो आप उपयोगकर्ता को किसी भी आईपी से कनेक्ट करने की अनुमति देने के '%'बजाय उपयोग कर सकते हैं '1.2.3.4'

अन्य कारण

एक काफी व्यापक सूची के लिए, पहुँच-अस्वीकृत त्रुटियों के कारण देखें ।


AFAIK, उपयोगकर्ता का निर्माण आवश्यक है क्योंकि उपयोगकर्ता रूट का उपयोग केवल व्यवस्थापक कार्य और समझदारी से किया जाना चाहिए जो स्थानीयहोस्ट तक सीमित होना चाहिए। आप जो उपयोगकर्ता बनाते हैं, वह आपके ऊपर है!
1937 पर user3791372

पहुँच-अस्वीकृत त्रुटियों के कारणों का लिंक अब टूट गया है।
मैट कॉयब्रो

21

क्या आपने यह निर्धारित करने की कोशिश की कि क्या यह कार्यक्षेत्र या सामान्य कनेक्शन समस्या के साथ एक समस्या है? इसे इस्तेमाल करे:

  1. एक टर्मिनल खोलें
  2. प्रकार mysql -u root -p -h 127.0.0.1 -P 3306
  3. यदि आप सफलतापूर्वक कनेक्ट कर सकते हैं तो आप अपना पासवर्ड टाइप करने के बाद एक mysql संकेत देखेंगे (टाइप करें quitऔर बाहर निकलने के लिए वहां प्रवेश करें)।

रिपोर्ट करें कि यह कैसे काम करता है।


नमस्ते, यह कहता है कि "mysql को आंतरिक या बाहरी कमांड, ऑपरेबल प्रोग्राम या बैच फ़ाइल के रूप में मान्यता प्राप्त नहीं है।" बहुत बहुत धन्यवाद।
14:94 पर यूज़र 948950

1
आप सिस्टम पथ में mysql बिन निर्देशिका ( binमुख्य MySQL निर्देशिका के भीतर निर्देशिका) को जोड़ना चाह सकते हैं । फिर mysql क्लाइंट प्रोग्राम कहीं से भी उपलब्ध होगा। या आप MySQL बिन डायरेक्टरी में cd-ing के बाद बस उस कमांड को चला सकते हैं। दोनों को काम करना चाहिए।
सर्जियो

2
जब मैं mysql को इस कमांड $> mysql -u root -p -h 127.0.0.1 -P 3306 से जोड़ रहा हूं तो पासवर्ड दर्ज करें: ERROR 1045 (28000): उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग करते हुए: NO) के लिए प्रवेश निषेध। [root @ localhost ~] # mysql -u root -p -h १२.0.0.0.0.1 -P ३३०६ पासवर्ड दर्ज करें: ERROR १०४५ (२ )०००): उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग कर: YES] [रूट @ के लिए प्रवेश निषेध localhost ~] # mysql -u admin -p -h 127.0.0.1 -P 3306 पासवर्ड दर्ज करें: ERROR 1045 (28000): उपयोगकर्ता 'व्यवस्थापक' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग करते हुए प्रवेश के लिए अस्वीकृत): इस रूट [लोकलहोस्ट ~] #
सुमित मुनोत

मेरे लिए काम किया !! बहुत धन्यवाद!
इगोर

15

मेरे पास मैक ओएस पर एक समान मुद्दा था और मैं इसे इस तरह से ठीक करने में सक्षम था:

टर्मिनल से, भागो:

mysql -u root -p -h 127.0.0.1 -P 3306

फिर, मुझे पासवर्ड दर्ज करने के लिए कहा गया। मैंने अभी-अभी एंटर दबाया है क्योंकि कोई पासवर्ड सेटअप नहीं था।

मुझे निम्नानुसार एक संदेश मिला:

माईएसक्यूएल मॉनिटर मे आपका स्वागत है। साथ समाप्त होता है; या \ g। आपकी MySQL कनेक्शन आईडी 181 है। सर्वर संस्करण: 8.0.11 Homebrew।

यदि आप mysql> में लॉग इन करने में सफल रहे, तो निम्न कमांड चलाएँ:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';

आपको इस तरह एक संदेश प्राप्त करना चाहिए:

क्वेरी ठीक, 0 पंक्तियाँ प्रभावित (0.19 सेकंड)

अब, आपका पासवर्ड " पासवर्ड " है और आपका उपयोगकर्ता नाम " रूट " है।

मुबारक कोडिंग :)


यह शायद नए इंस्टॉलेशन के साथ काम नहीं करेगा क्योंकि अनाम लॉग इन अक्षम हैं।
en_lorithai

9

ALTER USER कमांड चलाएं। अपने चयन के एक मजबूत पासवर्ड के लिए पासवर्ड बदलना सुनिश्चित करें।

  1. sudo mysql # Mysql` पर लॉगिन करें

  2. नीचे कमांड चलाएं

    ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
    

अब आप नए पासवर्ड का उपयोग करके इसे एक्सेस कर सकते हैं।

रेफरी: https://www.digitalocean.com/community/tutorials/how-to-install-mysql-on-ubuntu-18-04


7

मुझे प्रशासक के रूप में कार्यक्षेत्र शुरू करना था। जाहिरा तौर पर मेरे स्थानीय डेटाबेस सर्वर प्रक्रिया से जुड़ने के लिए इसकी आवश्यक अनुमति नहीं थी।

कार्यक्षेत्र शॉर्टकट को राइट-क्लिक करें और चुनें Run as Administrator। शॉर्टकट के गुण विंडो में, आप "उन्नत" पर क्लिक कर सकते हैं और "रन के रूप में प्रशासक के रूप में" बॉक्स को टिक कर सकते हैं, हमेशा कार्यक्षेत्र को विशेषाधिकारों के साथ चलाने के लिए।


5

त्रुटि तब होती है क्योंकि mysql सर्वर आपके कंप्यूटर पर प्रारंभ नहीं हो रहा है। आपको इसे मैन्युअल रूप से शुरू करना चाहिए। निम्न चरणों का पालन करें:

  1. अपने कंप्यूटर में अपने बिट संस्करण (32 बिट या 64 बिट) के अनुसार वैम्प सर्वर डाउनलोड और इंस्टॉल करें ( http://wampserver-64bit.en.softonic.com/ ) यह लिंक आपको 64 बिट के लिए वैंप सर्वर डाउनलोड करने की अनुमति देता है।

  2. जैसे ही आप इसे इंस्टॉल करते हैं आप इसे डबल क्लिक कर सकते हैं और इसे चला सकते हैं .. (आप टास्कबार के दाहिने हाथ में एक आइकन देख सकते हैं। यह छिपा हो सकता है। आप उस तीर पर क्लिक कर सकते हैं जो आपको छिपाए गए ऐप को दिखा रहा है)। आइकन पर क्लिक करें और Mysql पर जाएं

  3. इसके बाद सर्विस पर जाएं और वहां आप स्टार्ट / रिज्यूमे सर्विसेज पर क्लिक कर सकते हैं ।

  4. और अब यह हो गया है। mysql कार्यक्षेत्र और देखें। यह काम करेगा।


4

मैं थोड़ी देर के लिए इस समस्या से जूझता रहा और इसे खोजने से पहले MySQL के कई रीइंस्टॉल किए।

मुझे पता है कि MySQL सर्वर ठीक चल रहा था क्योंकि मैं कमांड लाइन का उपयोग करके अपने सभी DB तक पहुंच सकता था।

उम्मीद है इससे आपका काम बनेगा।

में MySQL Workbench (5.2.47 सीई)

सर्वर इंस्टेंस (निचले दाएं कोने) पर क्लिक करें

कनेक्शन पर क्लिक करें

में कनेक्शन बॉक्स का चयन करें:

स्थानीय उदाहरण ($ ServerName) - root@127.0.0.1: 3306 '<' मानक (टीसीपी / आईपी)>

चयनित संपादित करें पर क्लिक करें ...

के तहत पैरामीटर, होस्ट का नाम परिवर्तन स्थानीय होस्ट या 127.0.0.1 अपने NetBIOS नाम करने के लिए

टेस्ट कनेक्शन पर क्लिक करें

यदि यह आपके लिए काम करता है, महान। यदि होस्टनाम वापस नहीं बदला तो वह क्या था।


2
मेरे लिए यह काम किया। NetBIOS नाम कंप्यूटर का नाम है, आप इसे सिस्टम के गुणों, 'कंप्यूटर नाम' टैब, 'पूर्ण कंप्यूटर नाम' से पढ़ सकते हैं।
नियॉनमैन

3

उन लोगों के लिए जिन्होंने अनदेखा किया कि प्रारंभिक त्रुटि संदेश प्रदर्शित करना निम्नलिखित है:

Org.freedesktop.secrets नाम किसी भी .service फ़ाइलों द्वारा प्रदान नहीं किया गया था

निम्नलिखित का उपयोग करके सूक्ति-कीरिंग स्थापित करना सुनिश्चित करें

sudo apt install gnome-keyring

2

Forr me का कारण था कि मैंने MySQL Server 5.1 से कनेक्ट करने के लिए नवीनतम MySQL Workbench 8.x का उपयोग करने की कोशिश की (दोनों विंडोज़ 2012 पर चल रहे हैं)।

जब मैंने MySQL Workbench 8.x को अनइंस्टॉल किया और MySQL Workbench 6.3.10 स्थापित किया तो यह सफलतापूर्वक localhostडेटाबेस से जुड़ा


1

ऊपरी संस्करणों और बाद के आगंतुकों के लिए अद्यतित होना:

वर्तमान में मैं एक win7 64 बिट पर काम कर रहा हूँ, इस पर अलग-अलग टूल हैं जिनमें अजगर 2.7.4 शामिल है जो कि google android के लिए एक शर्त के रूप में है ...

जब मैंने WB 6.0.8-win32 से ऊपरी संस्करणों में 64 बिट के प्रदर्शन के लिए उन्नत किया तो मुझे 6.3.5-winx64 पर उदाहरण के लिए कुछ समस्याएं थीं। मेरे पास तालिकाओं के विवरण दृश्य में एक बग था (अव्यवस्थित दृश्य) मुझे 6.2 पर डाउनग्रेड करने का कारण बना। 5-winx64।

जीयूआई उपयोगकर्ता के रूप में, आसान फॉरवर्ड / बैकवर्ड इंजीनियरिंग और डीबी सर्वर रिश्तेदार आइटम अच्छी तरह से काम कर रहे थे, लेकिन जब हम करने की कोशिश Database>Connect to Databaseकरेंगे तो Not connectedहमारे पास अजगर त्रुटि होगी और अगर हम किसी क्वेरी को निष्पादित करने का प्रयास करते हैं, हालांकि डीबी सर्वर सेवा बिल्कुल चलती है और अच्छी तरह से काम कर रही है और यह समस्या सर्वर से नहीं है और कार्यक्षेत्र से है। इसे हल करने के लिए हमें Query>Reconnect to ServerDB कनेक्शन को स्पष्ट रूप से चुनने के लिए उपयोग करना चाहिए और फिर लगभग सब कुछ अच्छा लग रहा है (यह मेरे कई DB कनेक्शनों के कारण हो सकता है और मुझे कार्यक्षेत्र में डिफ़ॉल्ट db कनेक्शन को परिभाषित करने के लिए कुछ समाधान नहीं मिल सकता है)।

एक नोट के रूप में: क्योंकि मैं नवीनतम Xampp संस्करण का उपयोग कर रहा हूं (यहां तक ​​कि लिनक्स में भी नशे की लत :)), हाल ही में Xampp mysql के बजाय mariadb 10 का उपयोग करता है। जिसे हल किया जा सकता है mysql_upgrade.exeलेकिन फिर भी जब हम db कनेक्शन की जांच करने की कोशिश करते हैं तो wb गलत संस्करण के बारे में सूचित करेगा हालांकि यह महत्वपूर्ण नहीं है और अच्छी तरह से काम करता है।

निष्कर्ष: इस प्रकार कभी-कभी कार्यक्षेत्र में db कनेक्शन समस्याएँ स्वयं और सर्वर के कारण हो सकती हैं (यदि आपके पास अन्य db कनेक्शन सापेक्ष समस्याएं नहीं हैं)।


1

मेरे मामले में मैंने अभी MySQL कार्यक्षेत्र को स्थापित किया है लेकिन MySQL कार्यक्षेत्र की स्थापना रद्द करने और MySQL इंस्टॉलर को स्थापित करने के बाद 32 और 64 बिट दोनों के लिए समान है और इसके बाद यह एक आकर्षण की तरह काम करता है। आशा है कि यह उपयोगी हो सकता है।


0

मैं भी काफी समय तक इस समस्या से जूझता रहा।

मैं MySQL फोरम से इस दिलचस्प सूत्र के पार आया : http://forums.mysql.com/read.php?11,11388,11388#msg-11388

मैं भी (स्पष्ट रूप से) कुछ अच्छे एसओ क्यू / ए में आया था।

ऐसा लगता है कि "user948950" प्रश्न में उल्लिखित संदेश कई कारणों से आ सकता है: लॉग फ़ाइल बहुत बड़ी, गलत mysql.ini फ़ाइल मान, फ़ाइल पथ में स्थान, सुरक्षा / acl समस्या, पुरानी प्रविष्टियाँ रजिस्ट्री, और इसी तरह।

इसलिए, इसे ठीक करने के लिए 3h की कोशिश करने के बाद ... मैंने त्याग दिया और एक अच्छा पुराना पुन: स्थापित करने का फैसला किया।

यह वह जगह है जहाँ से (फिर से) यह MySQL थ्रेड उपयोगी आया , मैं बोली:

गैरी विलियम्स ने लिखा: हाय दोस्तों,

मुझे ठीक वैसी ही समस्या हुई है और यह मेरे लिए काम करने का तरीका है, एक गैर-संस्थापन के साथ काम करना।

  1. किसी भी मौजूदा mysql इंस्टॉलेशन के लिए विंडोज़ सर्विस बंद करें।

  2. माईसकल की स्थापना रद्द करें।

अधिकांश uninstalls के साथ, पुरानी फाइलें पीछे रह जाती हैं। यदि आपकी निर्देशिका C: \ mysql \ etc है, तो इनओब, आदि, फ़ाइलों को हटा दें, लेकिन निर्देशिकाओं के साथ-साथ 'डेटा' में मौजूद किसी भी डेटाबेस को छोड़ दें। यदि आपकी निर्देशिका C: \ Program Files \ etc है, तो सभी mysql निर्देशिकाओं को हटा दें।

  1. अब यह सुनिश्चित करने के लायक है कि पुरानी रजिस्ट्री प्रविष्टियों को हटा दिया जाए और उन्हें अनइंस्टॉल कर दिया जाए। यदि नहीं, तो उन्हें हटा दें।

  2. हालांकि, नई .msi इंस्टॉलर (केवल आवश्यक फ़ाइलें) का उपयोग करना ठीक है, हालांकि ...।

  3. उनके डिफ़ॉल्ट इंस्टॉल पथ का उपयोग न करें! कुछ प्रतिभाओं ने इसमें रिक्त स्थान के साथ एक रास्ता तय किया! कस्टम इंस्टॉल चुनें और एक समझदार पथ चुनें, अर्थात, C: \ mysql (Adrien से नोट: C: \ mysqldata ... डेटा)

  4. सुरक्षा सेटिंग्स को बदलने का चयन न करें। संबंधित बॉक्स को अनचेक करें और रूट पासवर्ड सेट किए बिना पूरा हो जाएगा।

मुझे लगता है कि मुझे सब कुछ याद है।

सौभाग्य

गैरी

जब मैं अपने पिछले "डेटा" निर्देशिका में नए डेटाबेस को कॉपी / पेस्ट करता हूं, तो मैं परेशानियों में पड़ गया। इसलिए मैंने पाया कि प्रत्येक डेटाबेस को निर्यात करना था (मुझे पता है ... बहुत मज़ा) और फिर उन्हें एक-एक करके फिर से आयात करना।

FYI करें: मैंने आयात करने के लिए निम्न कमांड का उपयोग किया C:/<MySQLInstallDir>/My SQL Server x.x/bin/mysql -u root -p <dbName> < "<dirPathOfDump>\<dumpName>.sql"है, उदाहरण के लिएC:/mysql/MySQL Server 5.6/bin/mysql -u root -p mySupaCoolDb < "C:\mySupaCoolDbDump20130901.sql"


0

मैं इससे पहले और पिछली बार इसी तरह की स्थितियों में था, मैंने पाया कि यह कुछ विंडोज अपडेट मुद्दा था (निश्चित नहीं)। इस बार, मैंने MySQL कार्यक्षेत्र खोला और मेरे स्थानीय डेटाबेस से कोई संबंध नहीं पाया। मैं अपनी टेबल नहीं देख सकता, लेकिन कल मैं डेटाबेस से जुड़ सकता था।

मैंने पाया कि मेरा कारण यह है कि, मेरे कंप्यूटर को कुछ समय के लिए सोने देने और उसे फिर से जगाने के बाद, mysql सेवा नहीं चल रही है। मेरा समाधान: "mysql" नाम की सेवा को पुनरारंभ करें और कार्यक्षेत्र को फिर से चलाएँ। सेवा को पुनरारंभ करने में कुछ समय लगता है, लेकिन यह काम करता है।


0

मेरी समस्या यह थी कि MySQL सर्वर वास्तव में स्थापित नहीं था। मैंने MySQL इंस्टालर चलाया था, लेकिन इसने MySQL सर्वर स्थापित नहीं किया।

मैं इंस्टॉलर को फिर से चलाता हूं, "जोड़ें" पर क्लिक करें, और फिर सूची में MySQL सर्वर को जोड़ा। अब यह ठीक काम करता है।


0

समस्या यह है कि MYSQL सर्वर स्थापित नहीं है। आप यहां से इंस्टॉलर प्राप्त कर सकते हैं

फिर इस 6 मिनट के इंस्टॉलेशन ट्यूटोरियल को देखें

यदि तब MYSQL वर्कबेंच में एक नया कनेक्शन बनाना काम नहीं कर रहा है, तो सुनिश्चित करें कि आप उस कनेक्शन को रूट के रूप में नीचे दिखाए अनुसार चलाएं:

यहां छवि विवरण दर्ज करें

अगर आपको अपनी .ini फाइल नहीं मिली तो इस उत्तर को जांचें

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