mysql - उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' के लिए अस्वीकृत(पासवर्ड का उपयोग करके: YES)-कोई विशेषाधिकार नहीं?




root mysql-workbench (11)

मुझे लगातार यह त्रुटि प्राप्त हो रही है।

मैं mySQL वर्कबेंच का उपयोग कर रहा हूं और मुझे जो भी मिल रहा है, वह यह है कि रूट के स्कीमा विशेषाधिकारों के शून्य हैं। कोई विशेषाधिकार नहीं हैं।

मुझे उन प्लेटफ़ॉर्म पर परेशानी हो रही है, जिनके लिए मेरे सर्वर का उपयोग किया गया है और यह अचानक समस्या है।

[email protected] की जाहिर तौर पर बहुत पहुंच है, लेकिन मैं इसमें लॉग इन हूं, लेकिन यह सिर्फ लोकलहोस्ट वैसे भी असाइन करता है - लोकलहोस्ट का कोई विशेषाधिकार नहीं है।

मैंने FLUSH HOSTS , FLUSH PRIVILEGES , आदि जैसी कुछ चीजें की हैं, लेकिन FLUSH PRIVILEGES या इंटरनेट से कोई सफलता नहीं मिली है।

मैं इसकी पहुंच कैसे वापस पा सकता हूं? मुझे यह निराशा होती है क्योंकि जब मैं चारों ओर देखता हूं तो लोग आपसे "पहुंच" की उम्मीद करते हैं, लेकिन मेरे पास पहुंच नहीं है इसलिए मैं कमांड लाइन या किसी भी चीज में नहीं जा सकता हूं और खुद को कुछ भी समझ सकता हूं।

जब SHOW GRANTS FOR root चल रहा है तो मुझे इसके बदले में क्या मिलेगा:

त्रुटि कोड: 1141. होस्ट '%' पर उपयोगकर्ता 'रूट' के लिए ऐसा कोई अनुदान परिभाषित नहीं है

किसी को भी धन्यवाद जो मदद प्रदान कर सकता है


mysql 5.7 में पासवर्ड फ़ील्ड को प्रमाणीकरण_स्ट्रिंग के साथ बदल दिया गया है ताकि आप इसके बजाय ऐसा कुछ करें

update user set authentication_string=PASSWORD("root") where User='root';

इस लिंक को देखें MySQL उपयोगकर्ता DB में पासवर्ड कॉलम नहीं हैं - OSX पर MySQL स्थापित करना


अगर आपको MySql 5.7 में यही समस्या है। +:

Access denied for user 'root'@'localhost'

यह इसलिए है क्योंकि MySql 5.7 डिफ़ॉल्ट रूप से सॉकेट से जुड़ने की अनुमति देता है, जिसका अर्थ है कि आप सिर्फ sudo mysql कनेक्ट करते हैं। यदि आप sql चलाते हैं:

SELECT user,authentication_string,plugin,host FROM mysql.user;

तो आप इसे देखेंगे:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             |                                           | auth_socket           | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

रूट और पासवर्ड के साथ कनेक्शन की अनुमति देने के लिए, फिर कमांड के साथ तालिका में मूल्यों को अपडेट करें:

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Current-Root-Password';
FLUSH PRIVILEGES;

फिर सेलेक्ट कमांड को फिर से रन करें और आप देखेंगे कि यह बदल गया है:

+------------------+-------------------------------------------+-----------------------+-----------+
| user             | authentication_string                     | plugin                | host      |
+------------------+-------------------------------------------+-----------------------+-----------+
| root             | *2F2377C1BC54BE827DC8A4EE051CBD57490FB8C6 | mysql_native_password | localhost |
| mysql.session    | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| mysql.sys        | *THISISNOTAVALIDPASSWORDTHATCANBEUSEDHERE | mysql_native_password | localhost |
| debian-sys-maint | *497C3D7B50479A812B89CD12EC3EDA6C0CB686F0 | mysql_native_password | localhost |
+------------------+-------------------------------------------+-----------------------+-----------+
4 rows in set (0.00 sec)

और बस। आप sudo mysql_secure_installation कमांड को चलाने और पूरा करने के बाद इस प्रक्रिया को चला सकते हैं।


उन लोगों के लिए जो mysql 5.7+ संस्करण में नीचे त्रुटि का सामना कर रहे हैं -

Access denied for user 'root'@'localhost' (using password: YES)
  1. नया टर्मिनल खोलें

  2. sudo /etc/init.d/mysql stop ... MySQL कम्युनिटी सर्वर 5.7.8-rc रोका गया है

  3. sudo mysqld_safe --skip-grant-tables & यह सभी अनुदान स्तर विशेषाधिकारों को छोड़ देगा और सुरक्षित मोड में mysql शुरू कर देगा। कभी-कभी प्रक्रिया सिर्फ इस वजह से अटक जाती है

grep: एरर लिखें: टूटा हुआ पाइप 180102 11:32:28 mysqld_safe '/var/log/mysql/error.log' में लॉग इन करना।

प्रक्रिया को बाधित और बाहर करने के लिए बस Ctrl + Z या Ctrl + C दबाएं

  1. mysql -u root

माईएसक्यूएल मॉनिटर मे आपका स्वागत है। साथ समाप्त होता है; या \ g। आपका MySQL कनेक्शन आईडी 2 सर्वर संस्करण है: 5.7.8-आरसी MySQL सामुदायिक सर्वर (GPL)

कॉपीराइट (c) 2000, 2015, Oracle और / या इसके सहयोगी। सर्वाधिकार सुरक्षित।

ओरेकल ओरेकल कॉर्पोरेशन और / या इसके सहयोगियों का एक पंजीकृत ट्रेडमार्क है। अन्य नाम उनके अपने स्वामियों के ट्रेडमार्क हो सकते हैं।

'सहायता' टाइप करें या मदद के लिए '\ h'। वर्तमान इनपुट स्टेटमेंट को साफ़ करने के लिए 'c' टाइप करें।

  1. mysql> mysql का use mysql;

तालिका और स्तंभ नामों को पूरा करने के लिए तालिका की जानकारी पढ़ना

डेटाबेस बदल गया

  1. mysql> update user set authentication_string=password('password') where user='root'; क्वेरी ठीक, 4 पंक्तियाँ प्रभावित, 1 चेतावनी (0.03 सेकंड) पंक्तियों का मिलान: 4 परिवर्तित: 4 चेतावनियाँ: 1

  2. mysql> flush privileges; क्वेरी ठीक है, 0 पंक्तियाँ प्रभावित (0.00 सेकंड)

  3. mysql> अलविदा quit

  4. sudo /etc/init.d/mysql stop

..180102 11:37:12 mysqld_safe पीएस फ़ाइल से mysqld /var/run/mysqld/mysqld.pid समाप्त हो गया। * MySQL सामुदायिक सर्वर 5.7.8-आरसी को रोका जाता है arif @ ubuntu: ~ $ sudo /etc/init.d/mysql start .. * MySQL समुदाय सर्वर 5.7.8-rc प्रारंभ किया गया है

  1. mysql -u root -p

    पास वर्ड दर्ज करें:

    माईएसक्यूएल मॉनिटर मे आपका स्वागत है। साथ समाप्त होता है; या \ g। आपका MySQL कनेक्शन आईडी 2 सर्वर संस्करण है: 5.7.8-आरसी MySQL सामुदायिक सर्वर (GPL)

mysql 5.7+ संस्करण के बाद mysql.user तालिका से नाम प्रमाणीकरण_string द्वारा प्रतिस्थापित कॉलम पासवर्ड।

आशा है कि ये कदम किसी की मदद करेंगे, धन्यवाद।


उबंटू सर्वर पर टेस्टलिंक स्थापित करते समय मुझे इस समस्या का सामना करना पड़ा, मैंने इन चरणों को समाप्त कर दिया

mysql -u root
use mysql;
update user set password=PASSWORD("root") where User='root';
flush privileges;
quit

अब उदाहरण बंद करें और फिर से शुरू करें

sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start

मुझे नहीं लगता कि आपको --init-file पैरामीटर से बचना होगा:

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\\mysql-init.txt

होना चाहिए:

"C:\Program Files\MySQL\MySQL Server 5.6\bin\mysqld.exe" --defaults-file="C:\\Program Files\\MySQL\\MySQL Server 5.6\\my.ini" --init-file=C:\mysql-init.txt


मेरे साथ भी यही समस्या थी, लेकिन यह कारण था, क्योंकि मैं 32 (बिट) पर mysql सर्वर का उपयोग कर रहा था और कार्यक्षेत्र 64 (बिट) संस्करण पर चल रहा था। सर्वर और कार्यक्षेत्र को एक ही संस्करण की आवश्यकता है।

एक्सप्रेस


मैंने कई घंटों तक यूजर के रूट '@' 'लोकलहोस्ट' (पासवर्ड का इस्तेमाल करते हुए: YES) के लिए एक्सेस अस्वीकृत पर काम किया है, मेरे पास इसका सॉल्यूशन निम्नलिखित है,

The answer to this problem was that in the my.cnf located within
/etc/mysql/my.cnf

the line was either 
bind-address = 127.0.0.1 
            (or)
bind-address = localhost
            (or)
bind-address = 0.0.0.0

I should prefer that 127.0.0.1

I should also prefer 0.0.0.0, it is more flexible 
because which will allow all connections

मैंने कार्यक्षेत्र को व्यवस्थापक के रूप में चलाकर उसी समस्या को हल किया।

... मुझे लगता है कि यह कंपनी के कंप्यूटरों पर प्रतिबंध के कारण है, मेरे मामले में ...


रूट पासवर्ड रीसेट करने का सबसे आसान तरीका है:

  • mysqld को फिर से शुरू करें --स्किप-अनुदान-टेबल विकल्प । यह किसी को भी पासवर्ड के बिना और सभी विशेषाधिकारों के साथ कनेक्ट करने में सक्षम बनाता है। क्योंकि यह असुरक्षित है, आप दूरस्थ क्लाइंट्स को कनेक्ट होने से रोकने के लिए --skip- नेटवर्किंग के साथ संयोजन में-skip- अनुदान-तालिकाओं का उपयोग करना चाह सकते हैं।

  • इस कमांड के साथ mysqld सर्वर से कनेक्ट करें:

  • शेल> mysql mysql क्लाइंट में निम्न कथन जारी करता है। पासवर्ड को उस पासवर्ड से बदलें जो आप उपयोग करना चाहते हैं।

  • mysql> UPDATE mysql.user SET पासवर्ड = पासवर्ड ('MyNewPass') -> जहां उपयोगकर्ता = 'रूट'; mysql> FLUSH PRIVILEGES;

  • सर्वर को बंद करें, फिर इसे सामान्य रूप से (बिना --स्किप-अनुदान-तालिकाओं और --स्काइप-नेटवर्किंग विकल्पों के बिना) पुनरारंभ करें।

स्रोत मैसुकल दस्तावेज और व्यक्तिगत अनुभव:

http://dev.mysql.com/doc/refman/5.6/en/resetting-permissions.html


लिनक्स सिस्टम पर रूट पासवर्ड रीसेट करने का एक सरल तरीका:

sudo dpkg-reconfigure mysql-server-5.5

पहुँच से वंचित कुछ अन्य कारणों की जाँच करें:

https://dev.mysql.com/doc/refman/5.7/en/problems-connecting.html


रूट पासवर्ड रीसेट करने के लिए निर्देशों का उपयोग करें - लेकिन रूट पासवर्ड रीसेट करने के बजाय, हम mysql.user तालिका में एक रिकॉर्ड को INSERT जबरदस्ती करने जा रहे हैं।

Init फ़ाइल में, इसके बजाय इसका उपयोग करें

INSERT INTO mysql.user (Host, User, Password) VALUES ('%', 'root', password('YOURPASSWORD'));
GRANT ALL ON *.* TO 'root'@'%' WITH GRANT OPTION;




workbench