MySQL शब्दकूट हैशिंग

जब भी आप अपने MySQL स्थापना के उन्नयन के लिए किसी भी ग्राहक है कि इसे इस्तेमाल करता है का उन्नयन सुनिश्चित करें.

कुछ मामलों में, ग्राहकों है कि एक संस्करण 4.1 के लिए पहले उपयोग को एक MySQL डाटाबेस के खिलाफ सत्यापन अगर बाद एक के बाद 4.1 संस्करण है समस्या होगी.

चाल है कि 4.1 (यानी 4.11 और ऊपर) के बाद, MySQL जिस तरह से यह उपयोगकर्ता तालिका में mysql प्रणाली डेटाबेस अंदर पासवर्ड भंडार बदल.
पासवर्ड hashes अब 41 बाइट्स लंबे समय के बजाय पुराने 16 बाइट्स.

तो उदाहरण के लिए, अगर अपने MySQL सर्वर 5.0 है, जबकि अपने पुस्तकालय php-mysql 4.1 है, अपने वेब अनुप्रयोगों के लिए डेटाबेस से कनेक्ट करने के असफल हो जायेगी . जैसे, यह सिफारिश की है कि आप ग्राहक उन्नयन.

किसी भी मामले में, MySQL के पुराने स्वरूप में हैश वापस बदलने के लिए तरीका प्रदान करता है. तर्क की खातिर मान, जॉन प्रश्न में उपयोगकर्ता है, और आप के लिए पासवर्ड डमी का उपयोग कर कनेक्ट करने में सक्षम होना चाहते हैं. इस मामले में, अपने MySQL सर्वर के लिए प्रांप्ट से कनेक्ट (SSH और उपयोग 'mysql-u रूट पी mysql Linux पर, या आपके / mysql बिन खिड़कियों निर्देशिका जाने के लिए और एक ही क्वेरी को निष्पादित), तो निम्न प्रश्नों का मुद्दा:

अद्यतन उपयोगकर्ता सेट पासवर्ड = OLD_PASSWORD ('डमी') जहाँ उपयोगकर्ता = 'जॉन';
विशेषाधिकार फ्लश;

OLD_PASSWORD () समारोह पुराने 16 बाइट्स हैश उत्पन्न होगा. पहली क्वेरी के अंत उपयोगकर्ता के लिए इस हैश का उपयोग पासवर्ड अद्यतन करेगा. दूसरा क्वेरी MySQL सेवा के लिए आदेश में फिर नई उपयोगकर्ता विशेषाधिकार पढ़ा आवश्यक है.

पुनश्च: अगर अपना रूट शब्दकूट काम नहीं कर रहा है, के रूप में अच्छी तरह से उल्लेख करने के लिए इसे रीसेट करने पर गाइड .

वैकल्पिक रूप से, यदि आपके डेटाबेस कई प्रयोक्ताओं है और आप उन्हें ट्रैक नहीं रखा था, तो आप निम्न क्वेरी का उपयोग करें और यह है कि नए हैश का उपयोग कर रहे हैं उपयोगकर्तानामों वापसी करेंगे कर सकते हैं

उपयोगकर्ता से अलग (उपयोगकर्ता) का चयन करें जहां LENGTH (पासवर्ड) = 41;

एक टिप्पणी छोड़ दो

आपकी टिप्पणी

आवश्यकता