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

दूरस्थ mySQL कनेक्शन फेंकता XAMPP से पुरानी असुरक्षित प्रमाणीकरण त्रुटि का उपयोग करके MySQL 4.1+ से कनेक्ट नहीं हो सकता है

मैं वास्तव में स्पष्ट नहीं हूं कि यह मेरी एक्सएएमपीपी स्थापना पर एक मुद्दा क्यों बन गया, क्योंकि मैं सर्वर के स्थानीय बॉक्स पर PHP 5.3.x भी चला रहा हूं और वहां उन मुद्दों का सामना नहीं कर रहा था। हालांकि, यह मेरे mySQL सर्वर "पुराने पासवर्ड" एन्क्रिप्शन मोड में चल रहा है। PHP के नए संस्करण उस प्रकार के कनेक्शन की अनुमति नहीं देंगे, इसलिए आपको नए पासवर्ड एन्क्रिप्शन का उपयोग करने के लिए अपने mySQL सर्वर को अपडेट करना होगा। यह मानते हुए कि आप mySQL सर्वर पर नियंत्रण रखते हैं, यहां चरण दिए गए हैं। यदि आप ऐसा नहीं करते हैं, तो यह मेरी जानकारी के दायरे से बाहर है।

  1. my.cnf . नामक mysql सर्वर के लिए कॉन्फ़िगरेशन फ़ाइल का पता लगाएं . मुझे मेरा /etc/my.cnf पर मिला . आप इसे sudo nano /etc/my.cnf . से संपादित कर सकते हैं

  2. old_passwords=1 says कहने वाली लाइन खोजें और उसे old_passwords=0 . में बदलें . आपने अब सर्वर को बता दिया है कि अगली बार इसे चलाने पर, और इसे PASSWORD() कमांड का उपयोग करके पासवर्ड एन्क्रिप्ट करने के लिए कहा जाता है, यह 16-वर्ण की 'पुरानी' शैली एन्क्रिप्शन के बजाय नए 41-वर्ण एन्क्रिप्शन का उपयोग करता है। पी>

  3. अब आपको अपने mysql सर्वर/सेवा को पुनरारंभ करना होगा। YMMV, लेकिन फेडोरा पर जो आसानी से sudo service mysqld restart . के साथ किया गया था . mysql डेमॉन या सेवा को पुनः आरंभ करने के लिए अपने OS के निर्देशों की जाँच करें

  4. अब हमें वास्तव में अपने user . को संपादित करना होगा MySQL के भीतर तालिका। तो mysql के लिए एक इंटरेक्टिव शेल खोलें (सर्वर पर आप mysql -uYourRootUsername -pYourRootPassword टाइप कर सकते हैं। )

  5. mysql में बदलें डेटाबेस। यह डेटाबेस है जो सर्वर संचालन और प्रमाणीकरण के लिए सभी अच्छी चीजें रखता है। इस डेटाबेस के साथ काम करने के लिए आपके पास रूट एक्सेस होना चाहिए। अगर आपको 'पहुंच से वंचित' मिलता है तो आप एसओएल हैं। माफ़ करना। use mysql; उस डेटाबेस पर स्विच हो जाएगा

  6. अब हम उस उपयोगकर्ता को अपडेट करना चाहते हैं जो आपको दुःख दे रहा था। अंततः आप शायद अपने सभी उपयोगकर्ताओं को अपडेट करना चाहेंगे, लेकिन अभी के लिए, हम केवल उस उपयोगकर्ता पर ध्यान केंद्रित कर रहे हैं जिसने त्रुटि दी है। update user set Password=password('YOUR_PASSWORD') where User='YOUR_USERNAME';

  7. जब उपयोगकर्ता कनेक्ट करने का प्रयास करता है तो अब आपको प्रमाणीकरण के लिए नए पासवर्ड का उपयोग करने के लिए MySQL को बताने की आवश्यकता है। flush privileges;

आपको जाने के लिए अच्छा होना चाहिए!




  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. रेगेक्स str_replace

  2. MySQL में प्राकृतिक छँटाई

  3. MySQL परिणाम अनुक्रमणिका 13 पर पंक्ति 0 पर जाने में असमर्थ

  4. MySQL लाइसेंसिंग और GPL

  5. MyISAM से INNODB में तालिका परिवर्तित करना