यहाँ समस्या दो समवर्ती मुद्दों के कारण थी।
- दूरस्थ सर्वर पर, वैश्विक सेटिंग OLD_PASSWORDS को 1 पर सेट किया गया था - जिसका अर्थ है कि पासवर्ड 4.1 से पहले के तरीके से हैश किए जा रहे थे।
- रूट खाते को वैश्विक सेटिंग के बावजूद नई हैशिंग पद्धति में एन्कोड किया गया था (संभवत:इसे इस पैरामीटर के सेट होने से पहले दर्ज किया गया था), जिसका अर्थ है कि इसे ओडीबीसी कनेक्शन के माध्यम से एक्सेस दिया जा रहा था क्योंकि नए हैशिंग को पहचान लिया गया था।
वैश्विक सेटिंग ने MySQL में PASSWORD () फ़ंक्शन को नई विधि के बजाय पुरानी पद्धति में किसी भी दर्ज किए गए मान को हैश करने का कारण बना दिया।
मैंने मान लिया था कि DBA ने एक अच्छे कारण के लिए OLD_PASSWORDS को 1 पर सेट किया था ताकि एक समाधान के रूप में मैंने इसका उपयोग किया
पासवर्ड() फ़ंक्शन का उपयोग करना पहले काम नहीं करता था क्योंकि वैश्विक सेटिंग OLD_PASSWORDS=1 ने इसे उसी हैशिंग का उपयोग करने के लिए OLD_PASSWORD() फ़ंक्शन के रूप में उपयोग किया था। सत्र सेटिंग ने इसे सही पासवर्ड बनाने की अनुमति दी।