Mysql
 sql >> डेटाबेस >  >> RDS >> Mysql

त्रुटि:mysqlnd पुराने असुरक्षित प्रमाणीकरण का उपयोग करके MySQL 4.1+ से कनेक्ट नहीं हो सकता

  • my.cnf में old_passwords =1 हटाएं या टिप्पणी करें

MySQL को पुनरारंभ करें। यदि आप ऐसा नहीं करते हैं, तो MySQL पुराने पासवर्ड प्रारूप का उपयोग करता रहेगा, जिसका अर्थ यह होगा कि आप अंतर्निहित पासवर्ड () हैशिंग फ़ंक्शन का उपयोग करके पासवर्ड को अपग्रेड नहीं कर सकते हैं।

पुराना पासवर्ड हैश 16 वर्णों का है, नया हैश 41 वर्ण का है।

  • डेटाबेस से कनेक्ट करें, और निम्न क्वेरी चलाएँ:

    SELECT user, Length(`Password`) FROM  `mysql`.`user`;
    

यह आपको दिखाएगा कि कौन से पासवर्ड पुराने प्रारूप में हैं, जैसे:

+----------+--------------------+
| user     | Length(`Password`) |
+----------+--------------------+
| root     |                 41 |
| root     |                 16 |
| user2    |                 16 |
| user2    |                 16 |
+----------+--------------------+

यहां ध्यान दें कि प्रत्येक उपयोगकर्ता की कई पंक्तियाँ हो सकती हैं (प्रत्येक भिन्न होस्ट विनिर्देश के लिए एक)।

प्रत्येक उपयोगकर्ता के लिए पासवर्ड अपडेट करने के लिए, निम्नलिखित चलाएँ:

UPDATE mysql.user SET Password = PASSWORD('password') WHERE user = 'username';

अंत में, फ्लश विशेषाधिकार:

FLUSH PRIVILEGES;

स्रोत: PHP5.3 पर "mysqlnd पुराने प्रमाणीकरण का उपयोग करके MySQL 4.1+ से कनेक्ट नहीं हो सकता" को कैसे ठीक करें



  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. MySQL त्रुटि:एक कुंजी लंबाई के बिना कुंजी विनिर्देश

  2. ग्रहण/MySQL एकीकरण प्लगइन्स?

  3. mysql प्रतिच्छेद

  4. Django - mysqlclient त्रुटि स्थापित करना:mysqlclient 1.3.13 या नया आवश्यक है; आपके पास 0.9.3 . है

  5. प्रत्येक खोजशब्द के लिए शीर्ष 'एन' परिणाम