प्रमाणीकरण प्लगइन 'caching_sha2_password' लोड नहीं किया जा सकता है


435

मैं MySQL - 8.0 को MySQL कार्यक्षेत्र के साथ जोड़ रहा हूं और नीचे त्रुटि प्राप्त कर रहा हूं:

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

मैंने अन्य क्लाइंट टूल के साथ भी कोशिश की है।

इसके लिए कोई उपाय?


2
यदि आप MySQL 8.0 को mysql_native_password मोड में चलाने के लिए कॉन्फ़िगर करते हैं, तो आप इस समस्या को ठीक करने में सक्षम हो सकते हैं।
रेमंड निजलैंड

6
सही है, MySQL कार्यक्षेत्र को कैश किए गए sha2 पासवर्ड (जल्द ही आने वाले) के साथ काम करने के लिए एक कनेक्टर अपडेट की आवश्यकता है।
माइक लिस्चके

7
मैंने मूल लॉगिन को मूल और फिर से शुरू करने के लिए सेट किया है, समस्या बनी रहती है और मैं एक नया उपयोगकर्ता बनाने के लिए लॉगिन नहीं कर सकता। हैरानी की बात है कि 2018 में एक स्थापित मैसकल और कार्यक्षेत्र बॉक्स से बाहर नहीं निकलता है। घटिया गुणवत्ता नियंत्रण।
क्रिसआर

1
मुझे नहीं पता कि आपको वहां से आभास हुआ कि कहीं 32bit mysql क्लाइंट लिब नहीं होगा, लेकिन यह सच नहीं है। यह सच है कि MySQL वर्कबेंच अब 32 बिट संस्करण के साथ नहीं आता है।
माइक लिस्चके जुले

2
कमजोर एन्क्रिप्शन का उपयोग करने का सुझाव देने वाले उत्तर सही तरीका नहीं है। टेबलप्लस जैसे अन्य क्लाइंट का उपयोग करें ।
ओहकट्स 11

जवाबों:


279

नोट: मैक ओएस के लिए

  1. सिस्टम वरीयताएँ> आरंभिक डेटाबेस> से MySQL खोलें
  2. अपना नया पासवर्ड टाइप करें।
  3. Choose यूज लीगेसी पासवर्ड ’चुनें
  4. सर्वर को फिर से शुरू करें।
  5. अब MySQL Workbench को कनेक्ट करें

चित्र का वर्णन


इससे OSX
सलाम

2
यह काम, धन्यवाद। मुझे लगता है कि यह काम करता है क्योंकि MySQL कार्यक्षेत्र डीबी सर्वर से कनेक्ट करने के लिए विरासत पासवर्ड एन्क्रिप्शन का उपयोग करता है। अनुशंसित स्ट्रॉन्ग पासवर्ड एन्क्रिप्शन के बजाय MySQL स्थापित करने और विरासत एन्क्रिप्शन का चयन करते समय भी किया जा सकता है।
भिक्षुसिंह

1
कुछ संस्करण के mysql में एक अलग सेटिंग पैनलाइन है और यह काम नहीं कर सकता
माइकल यांग

8
पुराने और कम सुरक्षित प्रमाणीकरण पर वापस जाने के लिए विज्ञापन एक अच्छा समाधान नहीं है।
माइक लिस्चके

63
मेरे पास सिस्टम प्रेफरेंस में MySQL नहीं है
JavaRunner

247

आप पासवर्ड के एन्क्रिप्शन को इस तरह से बदल सकते हैं।

ALTER USER 'yourusername'@'localhost' IDENTIFIED WITH mysql_native_password BY 'youpassword';

33
क्या होगा यदि ओपी ब्रांड-न्यू कूल प्रमाणीकरण विधि का उपयोग करना चाहता है?
लिबर्टीपॉल

@ वॉटोल्ड, अच्छी स्क्रिप्ट क्वेरी। + 1
एमडी हैदर अली खान

ध्यान दें कि @twocold द्वारा कोड में दिखाए गए अनुसार आपका नाम और आपका समूह एकल उद्धरणों से संलग्न होना चाहिए।
मैट्रिक्स

@twocold एक बार जब आप ऐसा कर लेते हैं और यह काम नहीं करता है, तो आप MySQL 8.0 मानक (नए एन्क्रिप्शन स्तर) पर वापस USER का उपयोग कैसे करें?
विल बेल्डेन

1
@BrianFitzGerald यह "caching_sha2_password" है, यहां या यहां लिंक करें
यान करिन

114

विंडोज 10 के लिए:

कमांड प्रॉम्प्ट खोलें:

cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"

C:\Program Files\MySQL\MySQL Server 8.0\bin> mysql -u root -p
Enter password: *********

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'newrootpassword';
Query OK, 0 rows affected (0.10 sec)

mysql> exit

वैकल्पिक रूप से, आप my.ini कॉन्फ़िगरेशन को निम्न के रूप में बदल सकते हैं :

[mysqld]

default_authentication_plugin=mysql_native_password

MySQL सर्वर को पुनरारंभ करें और फिर से कार्यक्षेत्र खोलें।


1
My.ini बदलना मेरे लिए काम नहीं करेगा - लेकिन कमांड प्रॉम्प्ट में बदलाव हुआ।
अमेल्विन

My.ini को बदलने से मेरी समस्या हल हो गई है। धन्यवाद।
बर्कांत

my.iniफ़ाइल स्थान: stackoverflow.com/a/20311286/923560
अब्दुल

मैं केवल यह नोट करना चाहता हूं कि कॉन्फ़िगरेशन को उस सर्वर में किया जाना चाहिए जिसे आप कनेक्ट करना चाहते हैं, और ALTER USER ने मेरे लिए विंडोज से एक दूरस्थ mysql सर्वर से कनेक्ट करने के लिए काम किया है
अल्काइड्स

विंडोज 10 तक सीमित नहीं
गीज़ा तुरी

76

आप उपयोगकर्ता के पासवर्ड को एन्क्रिप्शन बदल सकते हैं, जिसमें उपयोगकर्ता को Alter कमांड के साथ बदल सकते हैं:

ALTER USER 'उपयोगकर्ता नाम' @ 'ip_address' IDsIFIED with mysql_native_password BY 'पासवर्ड';

या

हम पुराने पासवर्ड प्लगइन के साथ काम करके इस त्रुटि से बच सकते हैं:

पहले Windows में लिनक्स / my.ini फ़ाइल के लिए my.cnf फ़ाइल में प्रमाणीकरण प्लगइन बदलें :

[Mysqld]

default_authentication_plugin = mysql_native_password

प्रभाव में परिवर्तन लेने के लिए mysql सर्वर को पुनरारंभ करें और MySQL क्लाइंट के साथ MySQL के माध्यम से कनेक्ट करने का प्रयास करें।

यदि अभी भी नीचे की त्रुटि को जोड़ने और प्राप्त करने में असमर्थ हैं:

Unable to load plugin 'caching_sha2_password'

इसका मतलब है कि आपके उपयोगकर्ता को उपरोक्त प्लगइन की आवश्यकता है। इसलिए डिफॉल्ट प्लगइन बदलने के बाद क्रिएट यूजर या ग्रांट कमांड के साथ नया यूजर बनाने की कोशिश करें। तब नए उपयोगकर्ता को देशी प्लगइन की आवश्यकता होती है और आप MySQL को कनेक्ट करने में सक्षम होंगे।

धन्यवाद


5
निश्चित रूप से यह गायब प्लग के साथ समस्या का समाधान नहीं है।
लिबर्टीपोल

1
यह है। मुद्दा यह है कि DB प्रबंधन सॉफ्टवेयर्स अभी तक इसे संभाल नहीं रहे हैं। तो जब तक आप एक mysql कार्यक्षेत्र देव नहीं हैं, यह अभी के लिए आपका समाधान है।
केविन गग्नन

मेरे लिए काम किया। धन्यवाद
लुकास Araújo

कॉन्फ़िग फ़्लैग जोड़ने के बाद एक नया उपयोगकर्ता बनाने के बारे में यह भाग महत्वपूर्ण है।
निपोनसी

70

वर्तमान में (2018/04/23 पर), आपको एक विकास रिलीज़ डाउनलोड करने की आवश्यकता है । जीए वाले काम नहीं करते।

मैं नवीनतम GA संस्करण (6.3.10) के साथ जुड़ने में सक्षम नहीं था।

इसके साथ mysql-workbench-community-8.0.11-rc-winx64.msi( https://dev.mysql.com/downloads/workbench/ , टैब डेवलपमेंट रिलीज़ से ) काम किया।


4
यह वास्तव में सही उत्तर है: MySQL 8.0 के लिए MySQL Workbench 8.0 की आवश्यकता होती है, जो दुर्भाग्य से बीटा मोड में दिखता है। लेकिन एक बार स्थापित होने के बाद आप नए SHA पासवर्ड एन्क्रिप्शन से चिपक सकते हैं, कुछ भी बदलने की आवश्यकता नहीं है।
क्रिस्टी एस।

बीटा नहीं, बल्कि एक रिलीज़ उम्मीदवार (RC)। जीए (आम तौर पर उपलब्ध) संस्करण जल्द ही आ रहा है।
माइक लिस्चके

मेरे लिए सबसे अच्छा विचार है।
वोज्शिएक फोर्नल

2
यह अभी भी मामला है। जीए संस्करण की स्थापना अभी भी अनुशंसित पासवर्ड एन्क्रिप्शन का उपयोग करके लॉगिन करने में असमर्थता है। कोई चेतावनी नहीं है कि जीए संस्करण केवल विरासत प्रमाणीकरण के साथ काम करता है।
डोनाल्ड रिच

2
कम से कम MacOS में, GA संस्करण वर्तमान में 8.0.12 (2018/08/13) है और इस मुद्दे को हल करता है! धन्यवाद!
ब्रूनो सिल्वानो

63

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

docker exec -it CONTAINER_ID bash

फिर रूट के रूप में mysql में प्रवेश करें

mysql --user=root --password

रूट के लिए पासवर्ड दर्ज करें (डिफ़ॉल्ट 'रूट' है) अंत में चलाएँ:

ALTER USER 'username' IDENTIFIED WITH mysql_native_password BY 'password';

तम तैयार हो।


ऐसा लग रहा है कि यह एक अच्छा जवाब हो सकता है कि मैं क्या देख रहा हूं। लेकिन मुझे नहीं पता कि यह "क्या" है। क्या आपका मतलब है स्वीकृत उत्तर? या एक और एक ...
Zach Smith

1
हाँ @ZachSmith, "यह" स्वीकृत उत्तरदाता को संदर्भित करता है।
axelferreira

शेल docker exec -it CONTAINER_ID mysql --user=root --passwordकी उपस्थिति पर भरोसा करने वाले दो आदेशों के बजाय कैसे bash(जो भविष्य में निश्चित नहीं है)?
एरिक

यह docker डेस्कटॉप 2.0.3.0 (mac) का उपयोग कर सीक्वलप्रो 1.1.2 के साथ काम नहीं किया। कमांड सभी काम करते हैं, लेकिन लॉगिन पर सीक्वल प्रो त्रुटियां - mysql का उपयोग करते हुए: नवीनतम (v8.0.15)
आर्केलडॉन

जैसा कि दूसरों ने बताया है, mysql 5.7 का उपयोग करना आवश्यक नहीं है:docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7
आर्केल्डन

47

ठीक है, इस पर बहुत समय बर्बाद किया है इसलिए यहां 19 मार्च 2019 तक एक सारांश है

यदि आप विशेष रूप से MySql 8+ के साथ डॉकर छवि का उपयोग करने की कोशिश कर रहे हैं , और फिर SequelPro का उपयोग करें कंटेनर पर चल रहे अपने डेटाबेस (नों) को एक्सेस करने के का उपयोग करें, तो आप भाग्य से बाहर हैं।

अगली कड़ी 2699 देखें

मेरा सेटअप सीक्वेलप्रो 1.1.2 है जो डॉक डेस्कटॉप 2.0.3.0 (मैक - मोजेज) का उपयोग कर रहा है, और mysql का उपयोग करने की कोशिश की: नवीनतम (v8.0.15)।

जैसा कि अन्य लोगों ने बताया है कि mysql 5.7 का उपयोग करना आवश्यक नहीं है:

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:5.7

बेशक, डॉक पर MySql 8+ का उपयोग करना संभव है, और उस स्थिति में (यदि आवश्यक हो), अन्य caching_sha2_passwordसमस्याओं के लिए यहां दिए गए अन्य उत्तर काम करते हैं। लेकिन अगली कड़ी MySql 8+ के साथ NO GO है

अंत में, मैंने सीक्वलप्रो (2013-2014 में पीछे से एक विश्वसनीय दोस्त) को छोड़ दिया और इसके बजाय डीबीएवर स्थापित किया । सब कुछ बॉक्स से बाहर काम किया। डॉकटर के लिए, मैंने उपयोग किया:

docker run -p 3306:3306 --name mysql1 -e MYSQL_ROOT_PASSWORD=secret -d mysql:latest --default-authentication-plugin=mysql_native_password

आप mysql डेटाबेस का उपयोग करके जल्दी से झांक सकते हैं:

docker exec -it mysql1 bash

mysql -u root -p

show databases;

1
इसे शेयर करने के लिए बहुत धन्यवाद। मैं अपने MySQL देव कंटेनर को गलती से हटाने के बाद ठीक उसी कॉम्बो की कोशिश कर रहा था।
martn_st

1
बहुत दुख की बात है कि सीक्वल प्रो अब सक्रिय रूप से विकसित नहीं हो रहा है :( 3 अप्रैल 2016 के लिए नवीनतम समाचार, जबकि यह 2019 पहले से ही है। यह एक सबसे अच्छा उपकरण है जिसे मैंने MySQL एक्सप्लोरर के लिए देखा है।
ओलेक्सी श्रेया

@OleksiiShnyra सच है कि कुछ सालों से प्रोडक्शन रिलीज़ नहीं हुई है, लेकिन FYI करें, नए "नाइटली" रिलीज़ उपलब्ध हैं। sequelpro.com/test-builds और के माध्यम से brew cask install homebrew/cask-versions/sequel-pro-nightly
पीटर डब्ल्यू

वहाँ एक समाधान है कि SequelPro काम कर प्राप्त कर सकते हैं, कमांड लाइन (के माध्यम से में प्रवेश कर उन लोगों के लिए है mysqlग्राहक) और ALTERउनके myslq.user मेज, यहां दर्शाई गई: github.com/sequelpro/sequelpro/issues/...
पीटर डब्ल्यू

यदि आप MySQL 8 पर हैं और इसे डाउनग्रेड नहीं करना चाहते हैं mysql_native_password, तो आप इसका अनुसरण कर सकते हैं: stackoverflow.com/a/56402217/2321594
Aidin

46

मैं " MySQL वेब इंस्टालर " का उपयोग करके अपने विंडोज 10 पीसी पर MySQL स्थापित कर रहा था और MySQL कार्यक्षेत्र का उपयोग करके कनेक्ट करने का प्रयास करते समय एक ही समस्या का सामना कर रहा था। मैंने सर्वर को इंस्टालर विंडो को फिर से कॉन्फ़िगर करके समस्या को ठीक किया।

MySQL वेब इंस्टालर - होम स्क्रीन

"पुन: कॉन्फ़िगर करें" विकल्प पर क्लिक करने से यह सर्वर को फिर से कॉन्फ़िगर करने की अनुमति देगा। "प्रमाणीकरण" तक पहुंचने तक "अगला" पर क्लिक करें।

MySQL इंस्टालर - प्रमाणीकरण विधि

एक बार इस टैब पर, दूसरे विकल्प का उपयोग करें "लिगेसी ऑथेंटिकेशन मेथड (रिटेन माईएसक्यूएल 5. एक्स कम्पैटिबिलिटी) का उपयोग करें"।

बाकी सब कुछ वैसा ही रखें और इसी तरह मैंने अपने मुद्दे को सुलझाया।


1
मैं मैन्युअल रूप से mysql-8.0.11-winx64.zip को खोल देता हूं और आसानी से "caching_sha2_password लोड नहीं किया जा सकता" समस्या को हल नहीं कर सकता। हालाँकि mysql-संस्थापक-समुदाय-8.0.11.0.msi का उपयोग करना और मैं ऊपर की सिफारिश का पालन करता हूं, MySQL Workbench 8.0.11 MySQL सर्वर 8.0.11 को लॉगिन कर सकता है।
oraclesoon

38

इस तरह?

docker run -p 3306:3306 -e MYSQL_ALLOW_EMPTY_PASSWORD=yes -d mysql --default-authentication-plugin=mysql_native_password
mysql -uroot --protocol tcp

PWD में प्रयास करें

https://github.com/GitHub30/docs/blob/change-default_authentication_plugin/mysql/stack.yml

या आप MySQL कार्यक्षेत्र 8.0.11 का उपयोग करते हैं।


3
जोड़ना --default- ऑथेंटिकेशन-प्लगइन = mysql_native_password आकर्षण की तरह काम करता है <3 धन्यवाद
थॉमस वेबर

21
  • MySQL कमांड लाइन क्लाइंट खोलें

  • एक नया पास के साथ एक नया उपयोगकर्ता बनाएं

शीर्ष पर एक बिन फ़ोल्डर के लिए एक पथ के उदाहरण को ध्यान में रखते हुए, यहां कोड आपको कमांड प्रॉम्प्ट में चलाने की आवश्यकता है, निम्न द्वारा पंक्ति:

cd C:\Program Files\MySQL\MySQL Server 5.7\bin
MySQL -u root -p    
current password...***  
CREATE USER 'nativeuser'@'localhost'  
IDENTIFIED WITH mysql_native_password BY 'new_password';
  • फिर, आप कार्यक्षेत्र को फिर से एक्सेस कर सकते हैं (आप एक नया स्थानीयहोस्ट कनेक्शन बनाने और प्रोग्राम का उपयोग शुरू करने के लिए नई क्रेडेंशियल्स का उपयोग करने के बाद ऐसा करने में सक्षम होना चाहिए)।

ऊपर बताए गए उपयोगकर्ता नाम (मूल उपयोगकर्ता) के साथ एक नया स्थानीय होस्ट कनेक्शन सेट करें, पासवर्ड (new_password) का उपयोग करके लॉगिन करें

छवि

सौजन्य: UDEMY FAQs ने Career365 टीम को जवाब दिया


यह काम किया। क्यों? मुझे यह त्रुटि तब हुई जब मैं rootकिसी पासवर्ड से जुड़ने की कोशिश कर रहा था , जो कमांड लाइन में काम करता था, लेकिन इसमें नहीं Sequel Pro
वोल्ट

आकर्षण की तरह काम करें, थ्रेड स्टार्ट प्रश्न के साथ पूर्ण corelation और कृपया ध्यान दें: आपके पास Mac os Catalina, docker 19.03, mysql नवीनतम चित्र होना चाहिए, इस कमांड को $ $ docker run -p 3306: 3306 -d --name mynameql -e MYSQL_ROOT_PASSWORD = पासवर्ड से जोड़ें। mysql / mysql-dzone वेबसाइट से सर्वर।
बनजई

13

Docker या Docker Compose का उपयोग करने वालों के लिए, मुझे इस त्रुटि का अनुभव हुआ क्योंकि मैंने अपना MySQL छवि संस्करण सेट नहीं किया था। डॉकर स्वचालित रूप से नवीनतम संस्करण प्राप्त करने का प्रयास करेगा जो 8 है।

मैंने MySQL को 5.7 पर सेट किया और छवि को फिर से बनाया और इसने सामान्य रूप से काम किया:

version: '2'
services: 
  db:
   image: mysql:5.7

3
संस्करण 5 के बजाय संस्करण 8 का उपयोग करने के लिए वैध कारण हैं। मैं इस पृष्ठ पर हूं क्योंकि मैं संस्करण 5 के बजाय संस्करण 8 का उपयोग करना चाहता हूं
Zach Smith

2
मेरे लिए इस मुद्दे mysql:5.7को mysql:latestहल करने के बजाय का उपयोग करना
फ्रांसेस्को बोर्ज़ी

13

मेरे डॉकटर-कम्पोज़ में यह मेरी डेटाबेस परिभाषा है:

dataBase:
    image: mysql:8.0
    volumes:
        - db_data:/var/lib/mysql
    networks:
        z-net:
            ipv4_address: 172.26.0.2
    restart: always
    entrypoint: ['docker-entrypoint.sh', '--default-authentication-plugin=mysql_native_password']
    environment:
        MYSQL_ROOT_PASSWORD: supersecret
        MYSQL_DATABASE: zdb
        MYSQL_USER: zuser
        MYSQL_PASSWORD: zpass
    ports:
        - "3333:3306"

संबंधित पंक्ति में प्रविष्टि है

इसे बनाने और बनाने के बाद, आप इसका परीक्षण कर सकते हैं:

$ mysql -u zuser -pzpass --host=172.26.0.2  zdb -e "select 1;"
Warning: Using a password on the command line interface can be insecure.
+---+
| 1 |
+---+
| 1 |
+---+

11

विंडोज 10 के लिए ,

  1. my.iniफ़ाइल को संशोधित करेंC:\ProgramData\MySQL\MySQL Server 8.0\

    [mysqld]
    default_authentication_plugin=mysql_native_password
  2. MySQL सेवा को पुनरारंभ करें।

  3. कमांड लाइन पर MySQL में लॉगिन करें, और MySQL में निम्न कमांड निष्पादित करें:

    • एक नया उपयोगकर्ता बनाएँ।

      CREATE USER 'user'@'localhost' IDENTIFIED BY 'password';
    • सभी विशेषाधिकार प्रदान करें।

      GRANT ALL PRIVILEGES ON * .* TO 'user'@'localhost';
  4. MySQL कार्यक्षेत्र खोलें, और नए उपयोगकर्ता क्रेडेंशियल्स का उपयोग करके एक नया कनेक्शन खोलें।

मैं उसी मुद्दे का सामना कर रहा था और यह काम कर रहा था।


9

यहाँ समाधान है जो विंडोज 10 पर MySQL 8.0 स्थापना के बाद मेरे लिए काम किया है।

मान लीजिए कि MySQL उपयोगकर्ता नाम rootऔर पासवर्ड हैadmin

कमांड प्रॉम्प्ट खोलें और निम्न कमांड दर्ज करें:

सीडी सी: \ कार्यक्रम फ़ाइलें \ MySQL \ MySQL सर्वर 8.0 \ बिन

mysql_upgrad -uroot -padmin

mysql -uroot -padmin

ALTER USER 'root' @ 'लोकलहोस्ट' IDsIFIED विथ mysql_native_password BY 'एडमिन'


8

अगर आपको मेरी तरह GitLab CI पर यह त्रुटि मिल रही है: बस नवीनतम से 5.7 संस्करण में परिवर्तन;)

# .gitlab-ci.yml

rspec:
  services:
    # - mysql:latest (I'm using latest version and it causes error)
    - mysql:5.7 #(then I've changed to this specific version and fix!)

7

मैने पाया कि

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

खुद से काम नहीं किया। मुझे भी सेट करने की जरूरत थी

[mysqld]
    default_authentication_plugin=mysql_native_password

in /etc/mysql/mysql.conf.d/mysqld.cnf उबंटू 18.04 बजे 7.0 रनिंग


इसने मेरे लिए Centos 7. पर काम किया। किसी कारण से, मेरे पासवर्ड्स को डिफ़ॉल्ट रूप से caching_sha2_password के रूप में सहेजा गया था और मुझे phpMyAdmin के साथ लॉग इन करने का प्रयास करते समय त्रुटि # 1251 मिल रही थी।
DaFudgeWizzad

6

मेरा sql कमांड प्रोम खोलें:

चरण 1

फिर mysql पासवर्ड डालें

चरण 2

अंत में उपयोग करें:

ALTER USER 'username'@'ip_address' IDENTIFIED WITH mysql_native_password BY 'password';

संदर्भ: https://stackoverflow.com/a/49228443/6097074

धन्यवाद।


6

मेरे लिए ऐसा होने लगा क्योंकि एक प्रोजेक्ट पर, मैं डॉकर छवि का उपयोग कर रहा था mysql: latest (जो कि संस्करण 5 था, और जो ठीक काम कर रहा था), और बाद के निर्माण के दौरान, नवीनतम संस्करण को संस्करण 8 में बदल दिया गया, और काम करना बंद कर दिया । मैंने अपनी छवि को mysql में बदल दिया: 5 और मुझे अब यह त्रुटि नहीं मिल रही थी ।


सिर पर अधिकार! धन्यवाद।
brcebn

6

यह त्रुटि तब आती है जब उपयोग किया जा रहा उपकरण MySQL8 के साथ संगत नहीं है, MySQL Workbenchch के नवीनतम संस्करण के लिए अद्यतन करने का प्रयास करें


5

ऊपर दिए गए उत्तर की तरह, लेकिन सरल प्रश्नों में हो सकता है, मुझे MySQL उन्नयन के बाद हाइबरनेट के साथ अपने स्प्रिंग बूट एप्लिकेशन में यह त्रुटि मिल रही थी। हमने अपने DB के खिलाफ नीचे प्रश्नों को चलाकर एक नया उपयोगकर्ता बनाया। मेरा मानना ​​है कि यह नवीनतम और अच्छे प्रमाणीकरण caching_sha2_password के बजाय sha256_password का उपयोग करने के लिए एक अस्थायी काम है।

CREATE USER 'username'@'localhost' IDENTIFIED WITH mysql_native_password BY 'pa$$word';

GRANT ALL PRIVILEGES ON * .* TO 'username'@'localhost';

4

MacOS के लिए MySQLWorkbench 8.0.11 इसे संबोधित करता है। मैं डॉक में चल रहे रूट पासवर्ड संरक्षित mysql इंस्टेंस के साथ कनेक्शन स्थापित कर सकता हूं।


यही मेरे लिए तय है। मैं 8.0 सर्वर के साथ एक पुराना MySQL कार्यक्षेत्र 6.3 चला रहा था। हालांकि कई जवाब यहां सर्वर संगतता को कम करने के लिए कहते हैं, मैंने बस अपने कार्यक्षेत्र संस्करण को नवीनतम 8.0 रिलीज (वर्तमान में 8.0.15) में अपग्रेड किया है।
योग कोई भी

3

यद्यपि यह एक वास्तविक समाधान नहीं होना चाहिए , लेकिन यदि आप अटके हुए हैं तो यह स्थानीय रूप से काम करता है

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

1
इससे समस्या हल हो जाती है।
kta

2

नीचे दिए गए समाधान ने मेरे लिए काम किया यहां छवि विवरण दर्ज करें

Myql कार्यक्षेत्र पर जाएं -> सर्वर-> उपयोगकर्ता और विशेषाधिकार 1. खाता जोड़ें पर क्लिक करें

2.उंडर लॉगिन टैब नए विवरण प्रदान करते हैं और मानक के रूप में प्रमाणीकरण प्रकार का चयन करने के लिए सुनिश्चित करें और संबंधित प्रशासनिक भूमिकाओं और स्कीमों का चयन करें

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


2

यदि आप किसी अन्य कंप्यूटर के टेक्स्ट-आधारित MySQL क्लाइंट से MySQL सर्वर से कनेक्ट करने का प्रयास कर रहे हैं (यह Docker हो या नहीं)

यहां अधिकांश उत्तरों में डेस्कटॉप क्लाइंट से कनेक्ट करना शामिल है, या आपको पुराने प्रमाणीकरण पद्धति पर स्विच करने के लिए कहा जाता है। यदि आप इसे MySQL क्लाइंट (टेक्स्ट-आधारित) के साथ जोड़ रहे हैं, तो मैंने इसे डॉकटर कंटेनर में डेबियन बस्टर के साथ काम किया।

कहो कि आपके पास उपयुक्त प्रणाली है और सेट अप करें, निम्नलिखित कार्य करें:

  1. sudo apt-get update
  2. sudo apt-get install lsb-release -y
  3. एक डेबियन पैकेज डाउनलोड करें जो MySQL वेब साइट से आपके लिए उपयुक्त स्रोतों को अपडेट करता है
  4. sudo dpkg -i mysql-apt-config_0.8.13-1_all.debऔर इच्छित विकल्पों का चयन करें। मेरे मामले में मुझे केवल MySQL Tools & Connectorsसक्षम होना चाहिए।
  5. sudo apt-get update
  6. sudo apt-get install mysql-client -y
  7. किया हुआ। अब आप नया MySQL क्लाइंट चला सकते हैं और नए प्रमाणीकरण विधि से जुड़ सकते हैं।

यह डब्ल्यूएसएल मुद्दों के लिए सही जवाब था, धन्यवाद!
एंड्रयू लैंड्सवर

1

MySql को डाउनलोड और इंस्टॉल करते समय लीगेसी पासवर्ड का उपयोग करने की कोशिश करें, जिससे मुझे मदद मिली। या मैक ओएस के लिए संतोष शिवन द्वारा पोस्ट की गई विधि का पालन करें।


0

8.0.11-rc के विकास रिलीज को डाउनलोड करना मेरे लिए एक मैक पर काम करता है। निम्नलिखित डॉकटर आदेशों के साथ:

docker run --name mysql -p 3406:3306 -e MYSQL_ROOT_PASSWORD=mypassword -d mysql

-3

मैंने MySQL 5.7 को स्थापित करके इस समस्या को हल किया:

चरण 1 - MySQL रिपोजिटरी सक्षम करें

सबसे पहले, आपको अपने सिस्टम पर MySQL 5.7 समुदाय रिलीज़ yum रिपॉजिटरी को सक्षम करने की आवश्यकता है। यम रिपॉजिटरी कॉन्फ़िगरेशन के लिए आरपीएम पैकेज MySQL की आधिकारिक वेबसाइट पर उपलब्ध हैं। अपने ऑपरेटिंग सिस्टम संस्करण के अनुसार नीचे दिए गए कमांड का उपयोग करें।

CentOS और RHEL 7 पर

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm

CentOS और RHEL 6 पर

yum localinstall https://dev.mysql.com/get/mysql57-community-release-el6-9.noarch.rpm

फेडोरा 27 पर

dnf install https://dev.mysql.com/get/mysql57-community-release-fc27-9.noarch.rpm

फेडोरा 26 पर

dnf install https://dev.mysql.com/get/mysql57-community-release-fc26-9.noarch.rpm

फेडोरा 25 पर

dnf install https://dev.mysql.com/get/mysql57-community-release-fc25-9.noarch.rpm

चरण 2 - MySQL 5.7 सर्वर स्थापित करें

जैसा कि आपने अपने सिस्टम पर MySQL yum रिपॉजिटरी को सफलतापूर्वक सक्षम किया है। अब, अपने ऑपरेटिंग सिस्टम संस्करण के अनुसार निम्नलिखित कमांड का उपयोग करके MySQL 5.7 समुदाय सर्वर स्थापित करें।

CentOS और RHEL 7/6 पर

yum install mysql-community-server

फेडोरा 27/26/25 पर

 dnf install mysql-community-server

स्रोत: https://tecadmin.net/install-mysql-5-7-centos-rhel/


-5

पिछली स्थापनाओं (MySQL कम्युनिटी सर्वर 5.7 और वर्कबेंच 6.1 तक) पर वापस जाना और नए MySQL क्रेडेंशियल्स स्थापित करना मेरे लिए काम कर गया!

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