मैं वास्तव में स्पष्ट नहीं हूं कि यह मेरी एक्सएएमपीपी स्थापना पर एक मुद्दा क्यों बन गया, क्योंकि मैं सर्वर के स्थानीय बॉक्स पर PHP 5.3.x भी चला रहा हूं और वहां उन मुद्दों का सामना नहीं कर रहा था। हालांकि, यह मेरे mySQL सर्वर "पुराने पासवर्ड" एन्क्रिप्शन मोड में चल रहा है। PHP के नए संस्करण उस प्रकार के कनेक्शन की अनुमति नहीं देंगे, इसलिए आपको नए पासवर्ड एन्क्रिप्शन का उपयोग करने के लिए अपने mySQL सर्वर को अपडेट करना होगा। यह मानते हुए कि आप mySQL सर्वर पर नियंत्रण रखते हैं, यहां चरण दिए गए हैं। यदि आप ऐसा नहीं करते हैं, तो यह मेरी जानकारी के दायरे से बाहर है।
-
my.cnf
. नामक mysql सर्वर के लिए कॉन्फ़िगरेशन फ़ाइल का पता लगाएं . मुझे मेरा/etc/my.cnf
पर मिला . आप इसेsudo nano /etc/my.cnf
. से संपादित कर सकते हैं -
old_passwords=1
says कहने वाली लाइन खोजें और उसेold_passwords=0
. में बदलें . आपने अब सर्वर को बता दिया है कि अगली बार इसे चलाने पर, और इसे PASSWORD() कमांड का उपयोग करके पासवर्ड एन्क्रिप्ट करने के लिए कहा जाता है, यह 16-वर्ण की 'पुरानी' शैली एन्क्रिप्शन के बजाय नए 41-वर्ण एन्क्रिप्शन का उपयोग करता है। पी> -
अब आपको अपने mysql सर्वर/सेवा को पुनरारंभ करना होगा। YMMV, लेकिन फेडोरा पर जो आसानी से
sudo service mysqld restart
. के साथ किया गया था . mysql डेमॉन या सेवा को पुनः आरंभ करने के लिए अपने OS के निर्देशों की जाँच करें -
अब हमें वास्तव में अपने
user
. को संपादित करना होगा MySQL के भीतर तालिका। तो mysql के लिए एक इंटरेक्टिव शेल खोलें (सर्वर पर आपmysql -uYourRootUsername -pYourRootPassword
टाइप कर सकते हैं। ) -
mysql
में बदलें डेटाबेस। यह डेटाबेस है जो सर्वर संचालन और प्रमाणीकरण के लिए सभी अच्छी चीजें रखता है। इस डेटाबेस के साथ काम करने के लिए आपके पास रूट एक्सेस होना चाहिए। अगर आपको 'पहुंच से वंचित' मिलता है तो आप एसओएल हैं। माफ़ करना।use mysql;
उस डेटाबेस पर स्विच हो जाएगा -
अब हम उस उपयोगकर्ता को अपडेट करना चाहते हैं जो आपको दुःख दे रहा था। अंततः आप शायद अपने सभी उपयोगकर्ताओं को अपडेट करना चाहेंगे, लेकिन अभी के लिए, हम केवल उस उपयोगकर्ता पर ध्यान केंद्रित कर रहे हैं जिसने त्रुटि दी है।
update user set Password=password('YOUR_PASSWORD') where User='YOUR_USERNAME';
-
जब उपयोगकर्ता कनेक्ट करने का प्रयास करता है तो अब आपको प्रमाणीकरण के लिए नए पासवर्ड का उपयोग करने के लिए MySQL को बताने की आवश्यकता है।
flush privileges;
।
आपको जाने के लिए अच्छा होना चाहिए!