मैंने अपना MySQL उपयोगकर्ता नाम और पासवर्ड खो दिया है। मैं इसे दुबारा कैसे प्राप्त करूं?
मैंने अपना MySQL उपयोगकर्ता नाम और पासवर्ड खो दिया है। मैं इसे दुबारा कैसे प्राप्त करूं?
जवाबों:
MySQL प्रक्रिया बंद करो।
MySQL प्रक्रिया को --स्काइप-ग्रांट-टेबल विकल्प से शुरू करें।
-U रूट विकल्प के साथ MySQL कंसोल क्लाइंट शुरू करें।
सभी उपयोगकर्ताओं को सूचीबद्ध करें;
SELECT * FROM mysql.user;
पासवर्ड रीसेट;
UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
लेकिन करने के लिए भूल नहीं है
MySQL प्रक्रिया बंद करो
MySQL प्रक्रिया को सामान्य रूप से प्रारंभ करें (यानी --स्काइप-ग्रांट-टेबल विकल्प के बिना)
जब आपने काम ख़त्म कर लिया हो। अन्यथा, आपके डेटाबेस की सुरक्षा से समझौता किया जा सकता है।
dpkg-reconfigure mysql-server-5.5
MySQL पासवर्ड को रूट करने के लिए कमांड का उपयोग करने का क्या महत्व है ?
-u
जब सर्वर के साथ शुरुआत की जाती है तो इसे अनदेखा किया जाता है --skip-grant-tables
।
mysql.user
नामक कोई स्तंभ नहीं है password
, authentication_string
इसके बजाय उपयोग करें ।
दुर्भाग्य से आपका उपयोगकर्ता पासवर्ड अप्राप्य है। यह एक तरह से हैश के साथ हैश किया गया है जो कि अगर आपको नहीं पता है तो यह अपरिवर्तनीय है। मैं ऊपर Xenph यान के साथ जाने की सलाह देता हूं और बस एक नया निर्माण करता हूं।
आप Windows पर किसी भी MySQL रूट खातों के लिए पासवर्ड रीसेट करने के लिए मैनुअल से निम्न प्रक्रिया का उपयोग कर सकते हैं :
प्रारंभ मेनू -> नियंत्रण कक्ष -> प्रशासनिक उपकरण -> सेवाएं
फिर सूची में MySQL सेवा ढूंढें, और इसे रोकें। यदि आपका सर्वर सेवा के रूप में नहीं चल रहा है, तो आपको इसे रोकने के लिए बाध्य करने के लिए टास्क प्रबंधक का उपयोग करने की आवश्यकता हो सकती है।
एक टेक्स्ट फ़ाइल बनाएं और उसमें निम्नलिखित कथनों को रखें। पासवर्ड को उस पासवर्ड से बदलें जिसे आप उपयोग करना चाहते हैं।
UPDATE mysql.user SET Password=PASSWORD('MyNewPass') WHERE User='root';
FLUSH PRIVILEGES;
अद्यतन और फ्लश बयान प्रत्येक एक पंक्ति पर लिखा होना चाहिए। अद्यतन बयान सभी मौजूदा जड़ खातों के लिए पासवर्ड रीसेट करता है, और फ्लश बयान सर्वर स्मृति में अनुदान टेबल फिर से लोड करने में बताता है।
कमांड प्रॉम्प्ट पर जाने के लिए एक कंसोल विंडो खोलें:
प्रारंभ मेनू -> भागो -> cmd
MySQL सर्वर को विशेष -इनिट-फाइल विकल्प से शुरू करें:
C:\> C:\mysql\bin\mysqld-nt --init-file = C:\mysql-init.txt
यदि आपने C: \ mysql के अलावा किसी अन्य स्थान पर MySQL स्थापित किया है , तो उसके अनुसार कमांड को समायोजित करें।
सर्वर प्रत्येक रूट खाता पासवर्ड को बदलते हुए स्टार्टअप में --init- फ़ाइल विकल्प द्वारा नामित फ़ाइल की सामग्री को निष्पादित करता है ।
यदि आप सर्वर आउटपुट को कंसोल विंडो में लॉग इन फ़ाइल के बजाय प्रदर्शित करना चाहते हैं तो आप कमांड को --console विकल्प भी जोड़ सकते हैं ।
यदि आपने MySQL अधिष्ठापन विज़ार्ड का उपयोग करके MySQL स्थापित किया है, तो आपको एक --defaults-file विकल्प निर्दिष्ट करने की आवश्यकता हो सकती है :
C:\> "C:\Program Files\MySQL\MySQL Server 5.0\bin\mysqld-nt.exe" --defaults-file="C:\Program Files\MySQL\MySQL Server 5.0\my.ini" --init-file=C:\mysql-init.txt
उपयुक्त --defaults- फ़ाइल सेटिंग को सेवा प्रबंधक का उपयोग करके पाया जा सकता है:
प्रारंभ मेनू -> नियंत्रण कक्ष -> प्रशासनिक उपकरण -> सेवाएं
सूची में MySQL सेवा खोजें, उस पर राइट-क्लिक करें और गुण विकल्प चुनें। निष्पादन योग्य फ़ील्ड के पथ में --defaults-file सेटिंग है।
अब आपको नए पासवर्ड का उपयोग करके रूट के रूप में MySQL से कनेक्ट करने में सक्षम होना चाहिए।
mysqld-nt
जगह है mysqld
?
यहां सबसे उपयोगी उत्तर में सुधार:
1] mysql सर्वर को पुनरारंभ करने की आवश्यकता नहीं है
2] नेटवर्क से जुड़े MySQL सर्वर के लिए सुरक्षा चिंता
MySQL सर्वर को पुनरारंभ करने की कोई आवश्यकता नहीं है।
FLUSH PRIVILEGES;
पासवर्ड बदलने के लिए अपडेट mysql.user स्टेटमेंट के बाद उपयोग करें ।
FLUSH स्टेटमेंट सर्वर से मेमोरी टेबल को मेमोरी में पुनः लोड करने के लिए कहता है ताकि यह पासवर्ड परिवर्तन को नोटिस करे।
--skip-grant-options
पासवर्ड के बिना और सभी विशेषाधिकारों के साथ कनेक्ट करने के लिए किसी को भी सक्षम बनाता है। क्योंकि यह असुरक्षित है, आप चाहते हो सकता है
दूरदराज के ग्राहकों को जोड़ने से रोकने के लिए --skip- नेटवर्किंग के साथ संयोजन में --skip- अनुदान-तालिकाओं का उपयोग करें ।
से: संदर्भ: रीसेट-अनुमतियाँ-सामान्य
mysql.user
? अक्सर हालांकि, यह मामला नहीं है।
हालांकि आप सीधे तौर पर बिना किसी MySQL पासवर्ड को ठीक किए नहीं रह सकते हैं, तो दूसरा तरीका हो सकता है - यदि आपने डेटाबेस से जुड़ने के लिए MySQL वर्कबेंच का उपयोग किया है, और क्रेडेंशियल्स को "वॉल्ट" में सहेजा है, तो आप सुनहरे हैं।
विंडोज पर, क्रेडेंशियल को % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat में संग्रहीत किया जाता है - CryptProtectData (बिना किसी अतिरिक्त एंट्रॉपी के) के साथ एन्क्रिप्ट किया गया । डिक्रिप्ट करना आसान है
std::vector<unsigned char> decrypt(BYTE *input, size_t length) {
DATA_BLOB inblob { length, input };
DATA_BLOB outblob;
if (!CryptUnprotectData(&inblob, NULL, NULL, NULL, NULL, CRYPTPROTECT_UI_FORBIDDEN, &outblob)) {
throw std::runtime_error("Couldn't decrypt");
}
std::vector<unsigned char> output(length);
memcpy(&output[0], outblob.pbData, outblob.cbData);
return output;
}
या आप एक त्वरित और गंदे कार्यान्वयन के स्रोत + निष्पादन योग्य के लिए इस डोनेशन कोडर धागे की जांच कर सकते हैं ।
टर्मिनल में DBMS से कनेक्ट करने के लिए निम्नलिखित कमांड चलाएँ (आपको रूट एक्सेस की आवश्यकता है):
sudo mysql -u root -p;
लक्ष्य उपयोगकर्ता का अपडेट पासवर्ड चलाएं (मेरे उदाहरण के लिए उपयोगकर्ता नाम है mousavi
और यह पासवर्ड होना चाहिए 123456
):
UPDATE mysql.user SET authentication_string=PASSWORD('123456') WHERE user='mousavi';
इस बिंदु पर आपको परिवर्तनों को लागू करने के लिए एक फ्लश करने की आवश्यकता है:
FLUSH PRIVILEGES;
किया हुआ! आपने इसे बिना किसी रोक टोक के या mysql सेवा को पुनः आरंभ किया।
यदि आपके पास सर्वर तक रूट एक्सेस है जहां mysql चल रहा है तो आपको इस कमांड का उपयोग करके mysql सर्वर को बंद कर देना चाहिए
sudo service mysql stop
अब इस कमांड का उपयोग करके mysql को शुरू करें
sudo /usr/sbin/mysqld --skip-grant-tables --skip-networking &
अब आप mysql का उपयोग करके लॉगिन कर सकते हैं
sudo mysql
FLUSH PRIVILEGES;
SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
पूर्ण निर्देश यहां देखे जा सकते हैं http://www.techmatterz.com/recover-mysql-root-password/
मौजूदा उपयोगकर्ता का उपयोग करके विंडोज़ cmd से MySql लॉगिन करें:
mysql -u उपयोगकर्ता नाम
पासवर्ड दर्ज करें: ****
फिर निम्न कमांड चलाएँ:
mysql> SELECT * FROM mysql.user;
उसके बाद संबंधित उपयोगकर्ता के लिए एन्क्रिप्टेड md5 पासवर्ड कॉपी करें और वेब में कई ऑनलाइन पासवर्ड डिक्रिप्ट किए गए एप्लिकेशन उपलब्ध हैं। इस डिक्रिप्ट पासवर्ड का उपयोग करना और अगली बार लॉगिन के लिए इसका उपयोग करना। या फ़्लो कमांड का उपयोग करके उपयोगकर्ता पासवर्ड अपडेट करें:
mysql> UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
फिर नए पासवर्ड और उपयोगकर्ता का उपयोग करके लॉगिन करें।
यदि आप ODBC सेट अप करने के लिए होते हैं, तो आप ODBC कॉन्फ़िग फ़ाइल से पासवर्ड प्राप्त कर सकते हैं। यह लिनक्स के लिए /etc/odbc.ini में है और विंडोज में रजिस्ट्री में सॉफ्टवेयर / ODBC फ़ोल्डर में (कई हैं - इसमें कुछ शिकार लग सकते हैं)
फ़ाइल सहेजें। इस उदाहरण के लिए, फ़ाइल का नाम C: \ mysql-init.txt रखा जाएगा। यह फाइल को बचाने के लिए प्रशासनिक अनुमति मांगता है
हालाँकि, ऑप्स प्रश्न की एक सख्त, तार्किक, कंप्यूटर विज्ञान की व्याख्या दोनों को "मेरे MySQL उपयोगकर्ता नाम को कैसे पुनः प्राप्त करें" और "पासवर्ड" की आवश्यकता होगी - मैंने सोचा कि यह किसी के लिए भी उपयोगी हो सकता है या व्याख्या को भी संबोधित कर सकता है। दूसरे शब्दों में ...
1) मैं अपने MySQL उपयोगकर्ता नाम को कैसे पुनः प्राप्त करूँ?
या
2) पासवर्ड
ऐसा लगता है कि यह बाद की स्थिति पहले से ही संबोधित कर दी गई है इसलिए मैं इससे परेशान नहीं होऊंगा। निम्नलिखित मामले के लिए एक समाधान है "मैं अपने MySQL उपयोगकर्ता नाम को कैसे पुनः प्राप्त करूँ"। HIH।
अपने mysql उपयोगकर्ता नाम को खोजने के लिए mysql शेल से निम्न कमांड चलाएँ ...
Mysql.user से उपयोगकर्ता का चयन करें;
यह सभी mysql उपयोगकर्ताओं की एक तालिका प्रिंट करेगा।