उपयोगकर्ता 'रूट @ लोकलहोस्ट' के लिए प्रवेश अस्वीकृत (पासवर्ड का उपयोग करके: NO)


115

मैं MySQL के लिए नया हूं, मैं अपने विंडोज डेस्कटॉप में वर्डप्रेस चलाने की कोशिश कर रहा हूं और इसे MySQL की जरूरत है।

मैं वह सब कुछ स्थापित करता हूं Web Platform Installerजिसके साथ Microsoft द्वारा प्रदान किया गया है। मैंने MySQL के लिए कभी रूट पासवर्ड सेट नहीं किया है और वर्डप्रेस को स्थापित करने के अंतिम चरण में, यह MySQL सर्वर पासवर्ड के लिए पूछता है।

रूट के लिए डिफ़ॉल्ट पासवर्ड क्या है (यदि कोई है) और इसे कैसे बदलना है?

मैंने कोशिश की:

mysql -u root password '123'

लेकिन यह मुझे दिखाता है:

Access denied for user 'root@localhost' (using password:NO)

इसके बाद मैं कोशिश करता हूं:

mysql -u root -p

हालाँकि, यह एक पासवर्ड के लिए पूछता है जो मेरे पास नहीं है।


अपडेट : जैसा कि Bozho ने सुझाव दिया, मैंने निम्नलिखित किया:

  1. मैंने Windows सेवाओं से MySQL सेवा को बंद कर दिया
  2. सीएमडी खोला गया
  3. स्थान को c: \ program files \ mysql \ bin में बदल दिया
  4. नीचे दिए गए आदेश को निष्पादित किया

    mysqld --defaults-file="C:\\program files\\mysql\\mysql server 5.1\\my.ini" --init-files=C:\\root.txt

  5. कमांड कैरेक्टर सेट के बारे में चेतावनी के साथ चला, जिसका मैंने नीचे उल्लेख किया है

  6. मैं Windows सेवाओं से MySQL सेवा शुरू करता हूं
  7. मैं कमांड लाइन में लिखता हूं

    mysql -u root -p EnterPassword: 123 // 123 was the password

  8. कमांड लाइन निम्नलिखित त्रुटि दिखाती है

    Access denied for user 'root@localhost' (using password:**YES**)

मैं इसे कैसे हल करूं? मुझे आपसे सुनने का इंतजार है।


1
पहला आदेश गलत है, होना चाहिए -pया --passwordनहीं, लेकिन नहीं password। यही कारण है कि mysql USING PASSWORD NO के साथ प्रतिक्रिया करता है।
कोनरक

3
किसी ने भी उसे स्पष्ट जवाब नहीं दिया। प्रारंभिक इंस्टॉल के बाद rootउपयोगकर्ता के लिए पासवर्ड रिक्त है । तो बस करो mysql -u root -pऔर फिर बस हिट दर्ज करें, यानी पासवर्ड को खाली छोड़ दें। फिर बेशक rootयूजरिड पर एक पासवर्ड डालें ।
रिग्सफॉली 10

1
@RiggsFolly नहीं, काम नहीं करता है! खाली पासवर्ड मुझे प्रवेश से वंचित कर देता है!
J86

मैं एक टिप्पणी जोड़ना चाहता हूं क्योंकि मुझे यकीन नहीं है कि स्वीकृत उत्तर सही है। मेरे लिए mysql -u root -p टाइप करना और फिर एक बार पासवर्ड के लिए संकेत देना, सही काम (इंस्टालेशन का एक सेट) दें। इसके बजाय एक DB के साथ एक DB के नाम को साबित करने के बजाय एक DB मैं जानता हूँ कि काम नहीं किया।
कारमाइन टैम्बस्किया

जवाबों:


48

आप अपना रूट पासवर्ड रीसेट कर सकते हैं । ध्यान रखें कि बिना पासवर्ड के रूट का उपयोग करना उचित नहीं है।


@Bozho - मैं निर्देश का पालन करता हूं और आनंद एक टेक्स्ट फाइल बनाता है और इसे बताए गए कमांड से कॉल करता है, उसके बाद मैं सामना करता हूं 100608 [warning] --default-character-set is deprecated and will be removed in a future release. please use --character-set-server instead।------------------------। -------- और अंत में जब मैं अपनी mysql सेवा फिर से शुरू करता हूं तो मुझे सटीक त्रुटि का सामना करना पड़ता है लेकिन इस बार (using password:yes)मुझे क्या करना चाहिए?
नासिर हैडलू

@Bozo - ध्यान दें कि मैं आपकी आज्ञा नहीं चला सकता क्योंकि mysqldt-ntमैं इसे mysqldt -ntवास्तव में चला रहा हूं। पहला cmd के लिए पहचानने योग्य नहीं है। मुझे आपसे सुनने का इंतजार है।
नासिर हैडलू

@Bozho - मैंने बग के साथ अपने प्रश्न को अपडेट किया है। आपके समय के लिए शुक्रिया।
नासिर हैडलू

@Bozho - क्या मेरी mysql त्रुटियों को अद्यतन / अनुकूलित करने का कोई तरीका है? ** अद्यतन "उपयोगकर्ता के लिए अस्वीकृत 'रूट @ लोकलहोस्ट' (पासवर्ड का उपयोग कर: NO)" उपयोगकर्ता के लिए अस्वीकृत "myname @ लोकलहोस्ट '(पासवर्ड का उपयोग कर: NO)" **
हितेश

81

इस तरह की त्रुटि के लिए; आपको बस एक व्यवस्थापक के रूप में रूट उपयोगकर्ता के लिए नया पासवर्ड सेट करना होगा। निम्नानुसार चरणों का पालन करें:

[root ~]# mysql -u root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password:NO)
  1. Mysql की सेवा / डेमॉन को चलाना बंद करें

    [root ~]# service mysql stop   
    mysql stop/waiting
  2. निम्नलिखित विकल्प का उपयोग करके किसी भी विशेषाधिकार के बिना mysql शुरू करें; यह विकल्प बूट करने के लिए प्रयोग किया जाता है और MySQL के विशेषाधिकार प्रणाली का उपयोग नहीं करता है।

    [root ~]# mysqld_safe --skip-grant-tables &

इस समय, टर्मिनल बंद हो जाएगा । चलो, और अगले चरणों के लिए नए टर्मिनल का उपयोग करें।

  1. mysql कमांड प्रॉम्प्ट दर्ज करें

    [root ~]# mysql -u root
    mysql> 
  2. रूट उपयोगकर्ता की अनुमति सेटिंग को ठीक करें;

    mysql> use mysql;
    Database changed
    mysql> select * from  user;
    Empty set (0.00 sec)
    mysql> truncate table user;
    Query OK, 0 rows affected (0.00 sec)
    mysql> flush privileges;
    Query OK, 0 rows affected (0.01 sec)
    mysql> grant all privileges on *.* to root@localhost identified by 'YourNewPassword' with grant option;
    Query OK, 0 rows affected (0.01 sec)

* यदि आप कोई पासवर्ड नहीं चाहते हैं या खाली पासवर्ड चाहते हैं

    mysql> grant all privileges on *.* to root@localhost identified by '' with grant option;
    Query OK, 0 rows affected (0.01 sec)*
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

परिणामों की पुष्टि करें:

    mysql> select host, user from user;
+-----------+------+
| host      | user |
+-----------+------+
| localhost | root |
+-----------+------+
1 row in set (0.00 sec)
  1. शेल से बाहर निकलें और सामान्य मोड में mysql को पुनरारंभ करें।

    mysql> quit;
    [root ~]# kill -KILL [PID of mysqld_safe]
    [root ~]# kill -KILL [PID of mysqld]
    [root ~]# service mysql start
  2. अब आप अपने द्वारा निर्धारित पासवर्ड से रूट यूजर के रूप में सफलतापूर्वक लॉगिन कर सकते हैं

     [root ~]# mysql -u root -pYourNewPassword 
     mysql> 

2
"[रूट ~] # mysqld_safe --skip-अनुदान-तालिकाओं" के बाद Enter दबाएं और "[रूट ~] # mysql -u रूट" दर्ज करने के लिए एक और टर्मिनल खोलें
Liuda

मैं इस समस्या से मिला, और मैंने बहुत कुछ किया, बस db सेवाओं को पुनः आरंभ करना भूल गया ... बहुत धन्यवाद!
ब्रूस ली

3
चरण 3 पर, मुझे मिलता हैERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
MrMartin

4
@Martin, उस dir का निर्माण करें sudo mkdir -p /var/run/mysqldऔर उसे अनुमति देंsudo chown mysql:mysql /var/run/mysqld
niceday

यह वह उत्तर है जिसने मुझे बहुत मदद की!
जोन्स जी

17

1) आप MySQL कंसोल को इनवाइट करके रूट पासवर्ड सेट कर सकते हैं। यह उसमें मौजूद है

C:\wamp\bin\mysql\mysql5.1.53\bin डिफ़ॉल्ट रूप से।

निर्देशिका में जाओ और MySQL टाइप करें। फिर पासवर्ड इस प्रकार सेट करें ..

    > SET PASSWORD FOR root@localhost = PASSWORD('new-password');

2) आप संपादन द्वारा रूट उपयोगकर्ता के लिए wamp के phpmyadmin एप्लिकेशन को कॉन्फ़िगर कर सकते हैं

C:\wamp\apps\phpmyadmin3.3.9\config.inc.php 

नोट: - यदि आप xampp का उपयोग कर रहे हैं, तो फ़ाइल में स्थित होगा

C:\xampp\phpMyadmin\config.inc.php

यह इस तरह दिख रहा है:

        $cfg['Servers'][$i]['verbose'] = 'localhost';
        $cfg['Servers'][$i]['host'] = 'localhost';
        $cfg['Servers'][$i]['port'] = '';
        $cfg['Servers'][$i]['socket'] = '';
        $cfg['Servers'][$i]['connect_type'] = 'tcp';
        $cfg['Servers'][$i]['extension'] = 'mysqli';
        $cfg['Servers'][$i]['auth_type'] = 'config';
        $cfg['Servers'][$i]['user'] = 'root';
        $cfg['Servers'][$i]['password'] = 'YOURPASSWORD';
        $cfg['Servers'][$i]['AllowNoPassword'] = false;

त्रुटि "पहुँच उपयोगकर्ता के लिए इनकार कर दिया 'जड़ @ स्थानीय होस्ट' (पासवर्ड का उपयोग करके नहीं)" जब आप सेट का समाधान हो जाएगा $cfg['Servers'][$i]['AllowNoPassword']करने के लिए झूठी

यदि आपने 'रूट @ लोकलहोस्ट' के लिए पासवर्ड को निजी तौर पर बदल दिया है, तो आपको त्रुटि को हल करने के लिए 2 चीजें करनी होंगी "एक्सेस यूजर 'रूट @ लोकलहोस्ट' के लिए अस्वीकृत":

  1. अगर ['पासवर्ड'] में '' जैसे खाली कोट्स हैं तो अपना पासवर्ड कोट्स के बीच रखें।
  2. परिवर्तन (पासवर्ड का उपयोग कर: नहीं) (पासवर्ड का उपयोग करके: हाँ)

यह त्रुटि को हल करेगा।

नोट: phpmyadmin एक अलग उपकरण है जो wamp के साथ आता है। यह सिर्फ MySQL को एक इंटरफ़ेस प्रदान करता है। यदि आप मेरे sql रूट के पासवर्ड को बदलते हैं, तो आपको phpmyadmin कॉन्फ़िगरेशन को बदलना चाहिए। आमतौर पर phpmyadmin रूट उपयोगकर्ता के लिए कॉन्फ़िगर किया गया है।


नहीं आप नहीं कर सकते हैं .. mysql शुरू नहीं होगा: c: \ wamp64 \ bin \ mysql \ mysql5.7.23 \ bin> mysql ERROR 1045 (28000): उपयोगकर्ता के लिए अस्वीकृत 'ODBC' @ 'localhost' (पासवर्ड का उपयोग कर: NO)
जैक्सएक्स

9

मुझे OS X El के कप्तान पर वही त्रुटि मिल रही थी। मैसूर संस्करण 5.7। मैं इन चरणों को निष्पादित करने के बाद रूट के साथ mysql से कनेक्ट करने में सक्षम था।

Mysql सर्वर बंद करो

sudo mysql.server stop

Mysql को सुरक्षित मोड में शुरू करें

sudo mysqld_safe --skip-grant-tables

Mysqld का उपयोग करते हुए, डेटाबेस को mysql में बदलें और उपयोगकर्ता 'रूट' के लिए विवरण को अपडेट करें।

show databases;
use mysql;
UPDATE mysql.user 
    SET authentication_string = PASSWORD('MyNewPass'), password_expired = 'N'
    WHERE User = 'root' AND Host = 'localhost';
exit;

उसके बाद 'mysqld_safe' प्रक्रिया को मारें और सामान्य रूप से mysql शुरू करें। आपको रूट और नए पासवर्ड का उपयोग करके mysql में लॉगिन करने में सक्षम होना चाहिए। अधिक विवरण के लिए SQL डॉक्स


4

बस my.iniC: \ xampp \ mysql \ bin पथ में फ़ाइल संपादित करें । बस जोड़ दो:

skip-grant-tables

की लाइनों के बीच में लाइन # The MySQL server [mysqld]और port=3306। फिर MySQL सर्वर को पुनरारंभ करें।

जैसा दिखता है:

स्क्रीनशॉट


जब मैं ऐसा करता हूं तो मुझे एक और त्रुटि मिलती हैcommunications link failure
अहमद हुसैन

3

सुनिश्चित करें कि MySQL सेवा आपकी मशीन पर चल रही है, फिर शुरू में रूट स्थापित करने के लिए MySQL के निर्देशों का पालन करें ('विंडोज़' की खोज करें और यह आपको रूट सेट करने के चरणों में ले जाएगा):

http://dev.mysql.com/doc/refman/5.1/en/default-privileges.html


यह समाधान मेरे लिए काम नहीं करेगा क्योंकि मेरे पास वह पासवर्ड नहीं है जिसकी उसे दूसरे चरण में आवश्यकता है।
नासिर हैडलू

यह वही है जो मैं लिंक भेजते समय देख रहा था, क्या आप सुनिश्चित हैं कि यह काम नहीं करता है? मुझे पुराने पासवर्ड का कोई संदर्भ नहीं दिख रहा है। विंडोज के लिए, यह करें: शेल> mysql -u root mysql> SET PASSWORD for 'root' @ 'localhost' = PASSWORD ('newpwd'); mysql> 'root'@'127.0.0.1' = PASSWORD ('newpwd') के लिए सेट करें; mysql> 'रूट' @ '%' के लिए PASSWORD सेट करें = PASSWORD ('newpwd');
शोल्सैप

1
जैसा कि मैंने पहले कहा था जब मैं लिखता mysql -u rootहूं तो मुझे समस्या का सामना करना पड़ता है और मैं दूसरी पंक्ति चलाने के लिए mysql में प्रवेश नहीं कर सकता। तो इस कमांड का उपयोग कैसे करें?
नासिर हैडलू

3

Mysql -u root -p का उपयोग करें यह पासवर्ड के लिए पूछेगा, पासवर्ड डालें और दर्ज करें।


मेरे द्वारा उपयोगकर्ताओं के लिए पहुँच अस्वीकृत होने के बाद यह काम किया गया।
शॉन डब्ल्यू

2

एक अन्य समाधान यदि किसी को त्रुटि मिलती है, तो उपयोगकर्ता खाते 'रूट' के लिए निर्दिष्ट पासवर्ड मान्य नहीं है, या डेटाबेस सर्वर से सही पासवर्ड के साथ कनेक्ट करने में विफल है, निम्न है

• Windows रजिस्ट्री में, HKCU \ Software \ Microsoft \ WebPlatformInstaller के तहत mysql_pwd reg कुंजी हटाएं

• MySQL .NET कनेक्टर का पुराना संस्करण

• नवीनतम MySql .NET कनेक्टर को डाउनलोड और इंस्टॉल करें ।


पासवर्ड और डेटाबेस नाम की जाँच ने मेरे लिए काम किया .. +1
अभिनव डोभाल

2

MySQL 5.7 के लिए। ये निम्न चरण हैं:

अपने MySQL सर्वर को पूरी तरह से बंद कर दें। यह Windows XP और Windows Server 2003 के अंदर सेवा विंडो तक पहुंचकर किया जा सकता है, जहां आप MySQL सेवा को रोक सकते हैं।

रन विंडो के अंदर "cmd" का उपयोग करके अपने MS-DOS कमांड प्रॉम्प्ट को खोलें। इसके अंदर अपने MySQL बिन फ़ोल्डर पर जाएँ, जैसे कि C: \ MySQL \ bin सीडी कमांड का उपयोग करके।

कमांड प्रॉम्प्ट में निम्न कमांड निष्पादित करें: mysqld.exe -u रूट --स्काइप-ग्रांट-टेबल

वर्तमान MS-DOS कमांड प्रॉम्प्ट को वैसे ही छोड़ दें, और एक नया MS-DOS कमांड प्रॉम्प्ट विंडो खोलें।

अपने MySQL बिन फ़ोल्डर पर नेविगेट करें, जैसे कि C: \ MySQL \ bin सीडी कमांड का उपयोग करके।

Mysql डालें और एंटर दबाएं।

अब आपके पास MySQL कमांड प्रॉम्प्ट काम करना चाहिए। टाइप mysql का उपयोग करें; ताकि हम "mysql" डेटाबेस पर जाएँ।

पासवर्ड को अपडेट करने के लिए निम्न कमांड निष्पादित करें:

अद्यतन उपयोगकर्ता सेट प्रमाणीकरण_स्ट्रिंग = पासवर्ड ('1111') जहां उपयोगकर्ता = 'रूट';


1

अपने कोड में अपने सर्वर यूजरनेम और पासवर्ड के साथ 'रूट' को अपने सर्वर पासवर्ड से बदलें । उदाहरण के लिए यदि आपके पास सर्वर http://www.example.com पर DB और आपकी php फाइलें हैं, तो जाहिर है कि आपको अपने उपयोगकर्ता नाम और पासवर्ड का उपयोग करके इस सर्वर साइट में प्रवेश करना होगा।


1

यदि आप XAMPP का उपयोग कर रहे हैं C:\xampp\phpMyAdminतो बस जाएं और फिर config.inc.phpखोज $cfg['Servers'][$i]['password'] = ''लाइन खोलें और अपना पासवर्ड वहां डालें।


1

पासवर्ड बदलने के बाद मुझे कुछ जानकारी मिली है:

उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग कर: NO) के लिए प्रवेश से वंचित

उपयोगकर्ता 'रूट' @ 'लोकलहोस्ट' (पासवर्ड का उपयोग कर: YES) के लिए प्रवेश से वंचित

दोनों मामलों में त्रुटि थी।

लेकिन बात यह है कि मैंने इसके साथ कोशिश की है

mysql -uroot -ppassword के बजाय

mysql -u root -p password -> -uroot और -ppassword के बीच रिक्त स्थान के साथ हो सकता है कि अगर किसी को परेशानी हो तो वह इस तरह से कोशिश कर सकता है।


0

कुछ समय यह सिर्फ Wamp की स्थापना या रूट उपयोगकर्ता के पासवर्ड विकल्पों को बदलने के कारण होता है। कोई भी निजीकरण -> रूट (उपयोगकर्ता) का उपयोग कर सकता है और फिर बिना पासवर्ड के चीजों को चलाने या पासवर्ड सेट करने या एप्लिकेशन में उपयोग करने के लिए NO पर पासवर्ड विकल्प सेट कर सकता है।


0
  1. config.inc.phpवर्तमान में पासवर्ड बदलें C:\xampp\phpMyAdmin
  2. mysql -u root -pकमांड प्रॉम्प्ट में टाइप करें ।
  3. आपको पासवर्ड दर्ज करने के लिए कहा जाएगा। उस पासवर्ड को दर्ज करें जिसे आपने अपडेट किया था config.inc.php

0

यदि आपने पोर्ट को गैर-मानक एक में बदल दिया है, तो आपको इसे निर्दिष्ट करने की आवश्यकता है:

$ कनेक्शन = mysqli_connect ('localhost: 3308', 'root', '', 'loginapp');


-3
mysqladmin -u root -p password

अपना भरें current password

फिर

अपना भरें new password


1
पूरे बिंदु यह है कि ओपी को वर्तमान पासवर्ड नहीं पता है, क्योंकि यह कभी भी सेट नहीं किया गया था
नटोमामी

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