सीक्वल प्रो और MySQL कनेक्शन विफल


97

मैं बस Homebrew से मैक पर mysql स्थापित किया

brew install mysql

mysql -V

mysql  Ver 8.0.11 for osx10.13 on x86_64 (Homebrew)

टर्मिनल से यह काम करता है और मैं mysql में लॉगिन कर सकता हूं लेकिन Sequel Pro से यह कहता है

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

127.0.0.1 होस्ट करने के लिए कनेक्ट करने में असमर्थ, या समयबद्ध अनुरोध।

सुनिश्चित करें कि पता सही है और आपके पास आवश्यक विशेषाधिकार हैं, या कनेक्शन टाइमआउट (वर्तमान में 10 सेकंड) बढ़ाने का प्रयास करें।

MySQL ने कहा: प्रमाणीकरण प्लगइन 'caching_sha2_password' लोड नहीं किया जा सकता: dlopen (/usr/local/lib/plugin/caching_sha2_password.so, 2): चित्र पाया गया

मैं क्या याद कर रहा हूँ पता नहीं कर सकते

जवाबों:


187

ऐसा इसलिए है क्योंकि सीक्वल प्रो अभी तक एक नए तरह के उपयोगकर्ता लॉगिन के लिए तैयार नहीं है, क्योंकि त्रुटि बताती है: कोई ड्राइवर नहीं है।

mysql + homebrew

मूल रूप से आपको कुछ क्रियाएं मैन्युअल रूप से करनी होंगी, हालांकि- आपके डेटाबेस का डेटा नीचे दिए गए समाधान की तरह नहीं हटाया जाएगा

  • My.cnf फ़ाइल पर जाएँ और अनुभाग [mysqld]में लाइन जोड़ें:

    default-authentication-plugin=mysql_native_password

  • टर्मिनल से mysql सर्वर पर लॉगिन करें: रन करें mysql -u root -p, फिर शेल के अंदर इस कमांड को निष्पादित करें ( अपने वास्तविक पासवर्ड के साथ [पासवर्ड] बदलें):

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

  • mysql शेल से बाहर निकलें exitऔर दौड़ें brew services restart mysql

कार्य करना चाहिए।

त्वरित सुधार (विनाशकारी विधि)

गैर-होमब्रे इंस्टॉल के लिए त्वरित सुधार:

Apple Logo > System Preferences > MySQL > Initialize Database, फिर अपना नया पासवर्ड टाइप करें और 'लीगेसी पासवर्ड का उपयोग करें' चुनें

पुनरारंभ करने के बाद आपको कनेक्ट करने में सक्षम होना चाहिए। इसे केवल ताज़े संस्थापनों पर ही करें, क्योंकि आप अपने db तालिकाओं को अन्यथा खो सकते हैं।


my.cnf

My.cnf फ़ाइल Unet / Linux पर /etc/my.cnf में स्थित है


वैकल्पिक

उन लोगों के लिए जो अभी भी सीक्वल प्रो समस्याओं से जूझ रहे हैं: सीक्वल प्रो एक बेहतरीन उत्पाद था, लेकिन टन के अनसुलझे मुद्दों और आखिरी रिलीज होने के साथ 2016 तक शायद कुछ विकल्पों की तलाश करना एक अच्छा विचार है। SequelPro का एक कांटा है जिसे SequelAce कहा जाता है जो बहुत स्थिर और अद्यतित प्रतीत होता है, यह समान कार्यक्षमता, समान रूप और अनुभव रखता है, फिर भी एक ही समय में यह पुरानी Sequel की समस्याओं से रहित है।

14
मैं सिस्टम प्राथमिकता में MySQL नहीं पा सकता
हतोरी हनज़ो

2
समझाने के लिए धन्यवाद, लेकिन my.cnfमेरी मशीन पर फ़ाइल नहीं ढूँढ सकते (macOS हाई सिएरा 10.13.5)
Hattori Hanzō

2
यदि ऐसी कोई फ़ाइल नहीं है, तो आपको एक बनाना होगा: कृपया, इस धागे पर एक नज़र डालें: stackoverflow.com/questions/7973927/…
Maciej Kwas

14
यह एक नए brew install mysqlप्रयोग पर बहुत अच्छा काम किया/usr/local/etc/my.cnf
23

5
मैंने एक पासवर्ड का उपयोग नहीं किया, इसलिए मैंने उपयोग किया ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '';- यह मेरे लिए काम करता था
विन्सेन्ट तांग

37

टीएल; डीआर: सीक्वल प्रो 2016 के बाद से मर चुका है। एक उपकरण के कारण अपने डीबी को डाउनग्रेड न करें। वैकल्पिक टूल पर जाएं।

अद्यतन 2020: सीक्वल प्रो आधिकारिक तौर पर मृत है लेकिन अनौपचारिक रूप से जीवित है! आप " रात " का निर्माण कर सकते हैं जिसके पास यह मुद्दा नहीं है (यानी मैसूर 8 समर्थन का समर्थन करें) यहां: https://fterelpro.com/test-builds


अन्य सभी समाधान यहां आपके DB सेटिंग्स को बदलने की सिफारिश कर रहे हैं (इसे कम सुरक्षित बनाते हुए, जैसा कि MySQL द्वारा विज्ञापित है) आप जिस टूल का उपयोग कर रहे हैं। यह मुझे स्वीकार्य नहीं है।

मैं हमेशा सीक्वल प्रो का बहुत बड़ा प्रशंसक रहा हूं, यहां तक ​​कि इसे दान भी दिया गया। लेकिन, मेरे सभी जुनून और प्यार के साथ, मुझे खेद है कि अगर उपकरण में 2016 के बाद से कोई रिलीज नहीं हुई है । YOLO, और मुझे आगे बढ़ने की आवश्यकता है!

मैंने जो विकल्प पाया ( https://stackoverflow.com/a/55235533/2321594 से , @arcseldon के लिए धन्यवाद) DBeaver है जो MySQL 8 के नए प्रमाणीकरण (गैर-विरासत) विधि का समर्थन करता है।

पुनश्च। टूल साइड में एकमात्र ट्रिक , डीबी साइड नहीं है जब आप एक MySQL 8 कनेक्शन बना रहे हैं तो आपको "ड्राइवर प्रॉपर्टीज" (बाद में एडिट कनेक्शन में पाया जा सकता है) पर जाना होगा और इसके मूल्य को चालू allowPublicKeyRetrievalकरना होगा true

मुझे डॉकटर का उपयोग करके बनाए गए मेरे MySQL कंटेनर से कनेक्ट करने के लिए इसकी आवश्यकता थी। MySQL का IP बाहर से दिखने के लिए, आपके इकोसिस्टम में किसी अन्य एप्लिकेशन के लिए (केवल इस टूल से नहीं), आपको या तो MySQL में एक नया उपयोगकर्ता बनाना चाहिए, या -e MYSQL_ROOT_HOST=%रन-टाइम में या एक ENV के रूप में पास होना चाहिए ।


मेरा मानना ​​है कि @ ऐडिन ने आपको सिर्फ इसलिए छोड़ दिया क्योंकि मेरा जवाब ओपी समस्या का समाधान नहीं है। यह सिर्फ एक स्थानीय विकास और स्थानीय सेटिंग्स है- तो बात क्या है? क्या मुझे वास्तव में सॉफ़्टवेयर को छोड़ना होगा जिससे मैं परिचित हूं और मुझे सिर्फ इसलिए काम करना पसंद है क्योंकि आप ऐसा कहते हैं?
मैकिज क्वैस

5
कृपया इसे व्यक्तिगत @MaciejKwas न लें। यहां अधिक स्पष्टीकरण प्रदान करने के बावजूद, जिसकी मैं सराहना करता हूं, मैं अभी भी अपने वोट से खड़ा हूं। तीन मुख्य कारण हैं: 1) आधुनिक सॉफ्टवेयर विकास में देव / ठेस के बीच अलग सेटअप बनाए रखने की सिफारिश नहीं की जाती है। यह वास्तव में, 12factor.net/dev-prod-parity का कारक X है । 2) लोग इन उपकरणों का उपयोग ठेस की जाँच के लिए भी कर सकते हैं। आप एक ssh- सुरंग / प्रॉक्सी बना सकते हैं और एक GUI उपकरण के माध्यम से अपने ठेस DB को प्राप्त कर सकते हैं। ऐसे मामलों में, डीबी ऑर्ट को अपग्रेड करना एक विकल्प नहीं है। 3) बदलने के लिए और उन्नयन के लिए आदत नहीं है कुछ मैं व्यक्तिगत रूप से मूल्य नहीं है।
आइडिन

1
मैं एक MySQL प्रोजेक्ट पर वापस आ रहा हूं जिसे मैंने स्थानीय रूप से एक दो साल में नहीं चलाया है b / c यह रॉक सॉलिड रहा है और मुझे यह जानकर बहुत दुख हुआ कि अगली कड़ी में मृत है :(
कैटफ़िश

DBeaver में MySQL +8 ड्राइवर भी चुनें क्योंकि चुनने के लिए कई ड्राइवर हैं। ड्राइवर गुणों में true और save के लिए allowPublicKeyRetrieval सेट करें।
Peheje

18
  1. मान लें कि आपके पास mysql कॉन्फ़िगरेशन नहीं है , तो निम्न को प्रतिध्वनित करें~/.my.conf
[mysqld]
default-authentication-plugin=mysql_native_password
  1. के साथ mysql में साइन इन करेंmysql -u root -p
  2. रूट यूजर पासवर्ड सेट करें ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '[PASSWORD]';जहां [PASSWORD]आपके चुनने का पासवर्ड है।
  3. Mysql को उदाहरण के लिए पुनरारंभ करेंbrew services restart mysql

10

सीक्वल प्रो आधिकारिक तौर पर मृत है और अब नए MySql सुविधाओं का समर्थन नहीं करता है। हालांकि, अच्छी खबर यह है कि इसे सीक्वल ऐस द्वारा बदल दिया गया था जो कि GitHub और App स्टोर पर उपलब्ध है । ऐप नि: शुल्क है और सीक्वल प्रो के लिए आधिकारिक प्रतिस्थापन की तरह दिखता है क्योंकि पोस्ट सीक्वल प्रो के सहयोगियों में से एक द्वारा बनाया गया था

Ps। मैंने इसे एक उत्तर के रूप में पोस्ट करने का फैसला किया क्योंकि दूसरों ने उल्लेख नहीं किया है कि सीक्वल प्रो के लिए अब अप-टू-डेट प्रतिस्थापन है


समाचार के लिए धन्यवाद, बहुत सराहना की।
हाटोरी हनज़ो

आखिरकार! कुछ देर इंतजार किया।
जॉनी

6

यदि आप root@127.0.0.1 के माध्यम से MySQL से जुड़ते हैं, तो सुनिश्चित करें कि आपने इसका पासवर्ड भी रीसेट कर दिया है!

ALTER USER 'root'@'127.0.0.1' IDsIFIED with mysql_native_password BY '[पासवर्ड]';


मुझे मिल रहा है:ERROR 3009 (HY000): Column count of mysql.user is wrong. Expected 50, found 49. Created with MySQL 80012, now running 80013. Please use mysql_upgrade to fix this error.
स्मिथ

इस टर्मिनल पर कोशिश करें: mysql_upgrad --force -uroot -p
Xeno

mysql_upgrad अब हटा दिया गया है और काम नहीं करेगा, इसके बजाय mysqld --upgrade = FORCE का उपयोग करें।
ilovecookiez11

1

अगर किसी को इस मुद्दे का सामना करना पड़ रहा है और आधिकारिक लिंक MySQL version >8से .dmgडाउनलोड के माध्यम से स्थापित किया गया है। उस स्थिति में कृपया इस दिशानिर्देश का उपयोग करें


1
एक पुराने शैली के पासवर्ड का उपयोग करना मेरे लिए काम कर गया। धन्यवाद!
रिचर्ड विदरस्पून

1

यह मेरे लिए काम कर रहा है। यदि आपको यह त्रुटि मिल रही है:

127.0.0.1 होस्ट करने के लिए कनेक्ट करने में असमर्थ, या समयबद्ध अनुरोध।

सुनिश्चित करें कि पता सही है और आपके पास आवश्यक विशेषाधिकार हैं, या कनेक्शन टाइमआउट (वर्तमान में 10 सेकंड) बढ़ाने का प्रयास करें।

MySQL ने कहा: प्रमाणीकरण प्लगइन 'caching_sha2_password' लोड नहीं किया जा सकता: dlopen (/usr/local/lib/plugin/caching_sha2_password.so, 2):

Plz इस समाधान की कोशिश करो

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


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