MySQL त्रुटि:: 'उपयोगकर्ता' रूट '@' लोकलहोस्ट 'के लिए अस्वीकृत




database database-connection (8)

$ ./Mysqladmin -u रूट -p ' redacted '
पास वर्ड दर्ज करें:

mysqladmin: 'localhost' में सर्वर से कनेक्ट करने में त्रुटि हुई:
'उपयोगकर्ता' रूट '@' लोकलहोस्ट '(पासवर्ड का उपयोग करके अस्वीकृत: YES)'

मैं इसे कैसे ठीक करूं?


उबंटू / डेबियन उपयोगकर्ताओं के लिए

root रूप में कनेक्ट करने के लिए निम्नलिखित को चलाएँ (बिना किसी पासवर्ड के)

sudo /usr/bin/mysql --defaults-file=/etc/mysql/debian.cnf

यदि आप प्रत्येक बार जब आप root रूप में कनेक्ट करना चाहते हैं, तो --defaults-file को जोड़ना नहीं चाहते हैं, तो आप /etc/mysql/debian.cnf को अपने होम डायरेक्टरी में कॉपी कर सकते हैं:

sudo cp /etc/mysql/debian.cnf ~/.my.cnf

और फिर:

sudo mysql

  1. अपने डिस्ट्रो के आधार पर /etc/my.cnf या /etc/mysql/my.cnf खोलें और संपादित करें।
  2. [mysqld] तहत skip-grant-tables जोड़ें
  3. मायस्टाकल को पुनरारंभ करें
  4. आपको नीचे दिए गए कमांड mysql -u root -p का उपयोग करके mysql में लॉगिन करने में सक्षम होना चाहिए
  5. रन mysql> flush privileges;
  6. ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword'; द्वारा नया पासवर्ड सेट करें ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
  7. वापस /etc/my.cnf पर जाएं और स्किप / ग्रांट-टेबल को हटा दें
  8. मायस्टाकल को पुनरारंभ करें
  9. अब आप नए पासवर्ड mysql -u root -p साथ लॉगिन कर पाएंगे

अपने MySQL कार्यक्षेत्र में, आप बाईं ओर के साइडबार पर जा सकते हैं, प्रबंधन के तहत "उपयोगकर्ता और विशेषाधिकार" का चयन करें, उपयोगकर्ता खातों के तहत रूट पर क्लिक करें, दाएं अनुभाग में, अधिकतम क्वेरी, अपडेट, आदि को बढ़ाने के लिए "खाता सीमाएं" टैब पर क्लिक करें। उसके बाद टैब "प्रशासनिक भूमिका" पर क्लिक करें और खाता एक्सेस देने के लिए बक्से की जांच करें। उम्मीद है की वो मदद करदे!


डेबियन 10 के तहत मेरे मामले में, त्रुटि

sudo mysql -u root -p mysql

द्वारा हल किया गया था (GAY WAY)

mysql -u root -p mysql

बुरा रास्ता:

 mysql -u root -p mysql 

मुझे मिले सभी समाधान आवश्यकता से बहुत अधिक जटिल थे और मेरे लिए कोई भी काम नहीं करता था। यहाँ समाधान है कि मेरी समस्या हल हो गई है। Mysqld को पुनरारंभ करने या विशेष विशेषाधिकारों के साथ इसे शुरू करने की आवश्यकता नहीं है।

sudo mysql

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

एक एकल क्वेरी के साथ हम बदल रहे हैं_मूगल_प्लगइन को mysql_native_password और रूट पासवर्ड को रूट करने के लिए सेट करें (क्वेरी में इसे बदलने के लिए स्वतंत्र महसूस करें)

अब आपको रूट से लॉगिन करने में सक्षम होना चाहिए। अधिक जानकारी mysql प्रलेखन में पाई जा सकती है

( Ctrl + D के साथ mysql कंसोल से बाहर निकलें या बाहर निकलें टाइप करके)


मैंने OSx में MySQL के शुरुआती सेट में अपना रूट पासवर्ड सेट करने के लिए ऐसा किया था। एक टर्मिनल खोलें।

sudo /usr/local/mysql/support-files/mysql.server stop
sudo mysqld_safe --skip-grant-tables

टर्मिनल बंद करें और एक नया टर्मिनल खोलें। और रूट पासवर्ड सेट करने के लिए लिनक्स में काम किया जाता है।

mysql -u root

FLUSH PRIVILEGES;

(sudo mysqld_safe --skip-allow-tables: यह मेरे लिए पहली बार में काम नहीं आया था। लेकिन दूसरी कोशिश, सफलता मिली।)

फिर MySQL में लॉगिन करें

ALTER USER 'root'@'localhost' IDENTIFIED BY 'newpassword';

अब पासवर्ड बदलें:

sudo /usr/local/mysql/support-files/mysql.server stop
sudo /usr/local/mysql/support-files/mysql.server start

MySQL को पुनरारंभ करें:

ERROR 1698 (28000): Access denied for user 'root'@'localhost'

यदि आप मेरे जैसे हैं और उपरोक्त सभी सुझाव विफल हो गए, तो अपने मशीन पर mysql के सभी संस्करणों को अनइंस्टॉल करने के लिए आगे बढ़ें, इस कमांड sudo find / -name "mysql" और rm -rf का उपयोग करके सभी शेष mysql फाइलों की खोज करें और अपनी फ़ाइल या निर्देशिका के साथ निर्देशिका करें mysql नाम इसके साथ जुड़ा हुआ है (आपको प्रोग्रामिंग भाषा पुस्तकालयों से संबंधित फ़ाइलों को छोड़ देना चाहिए)। अब MySQL का एक नया संस्करण स्थापित करें और आनंद लें। एनबी: आप अपने सभी डेटा को ढीला कर देंगे इसलिए पहले अपने विकल्पों का वजन करें।


यदि आपके पास पर्याप्त विशेषाधिकार नहीं हैं तो यह हो सकता है। su टाइप करें, रूट पासवर्ड डालें और फिर से कोशिश करें।








database-connection