खाली करने के लिए अपने mysql रूट पासवर्ड को कैसे बदलें?


43

जब मैं स्थानीय स्तर पर काम कर रहा हूं, मुझे अपने डेटाबेस तक पहुंचने के लिए वास्तव में अपना पासवर्ड दर्ज करने की आवश्यकता नहीं है। जब मैंने पहली बार mysql स्थापित किया था, तो मैंने अपना रूट पासवर्ड बदल दिया था, लेकिन मुझे नहीं पता कि मैं अपना पासवर्ड कैसे बदलूं। मुझे क्या करना चाहिए?

जवाबों:


43

रूट पासवर्ड को बदलने के लिए newpassword:

 mysqladmin -u root -p'oldpassword' password 'newpassword'

इसे बदलने के लिए रूट को पासवर्ड की आवश्यकता नहीं है:

 mysqladmin -u root -p'oldpassword' password ''

नोट: मुझे लगता है कि यह मायने रखता है कि बीच में कोई जगह नहीं है -pऔर 'oldpassword'मैं इसके बारे में गलत हो सकता हूं


3
मैं त्रुटि प्राप्त करता रहता हूं: 'रूट' @ लोकलहोस्ट के लिए पहुँच अस्वीकृत। मैं इसे कैसे ठीक कर सकता हूं?
ताक

मेरे लिए काम करता है: mysqladmin -u root -p'oldpassword 'पासवर्ड' '@tq: आपको निश्चित रूप से पुराना क्रॉस टाइप करना होगा
Nam

15

पासवर्ड को हटाने के बजाय (जो भविष्य में अप्रिय परिणाम हो सकता है यदि आप उस सर्वर को वाइल्ड्स में उजागर करते हैं), वर्तमान पासवर्ड (और आपके उपयोगकर्ता नाम) को ~/.my.cnf(या विंडोज में कुछ समतुल्य स्थान पर) इस तरह से देखें:

[client]
user = root
password = s3kr1t

यह MySQL भविष्य में अप्रियता के लिए आपको व्यापक खुला छोड़ने के बिना, प्रदान किए गए क्रेडेंशियल्स का उपयोग करके ऑटोलॉगिन की भयानक क्षमता देता है।


7
  1. Mysqld को रोकें और इसे --skip- अनुदान-तालिकाओं के विकल्प के साथ पुनः आरंभ करें ।
  2. बस mysql का उपयोग करके इसे कनेक्ट करें ।
  3. रूट पासवर्ड बदलें:

    अद्यतन mysql.user सेट पासवर्ड = पासवर्ड ('MyNewPass') जहां उपयोगकर्ता = 'रूट';

    फ्लश PRIVILEGES;

संदर्भ के लिए: आधिकारिक mysql डॉक्स


1
यह काम करता है लेकिन इसे करने का एक क्रूर बल तरीका है। यह तब होता है जब आप पासवर्ड नहीं जानते हैं।
डेविड

6

ध्यान दें कि MySQL 5.7 के साथ शुरू होने वाला, validate_password प्लगइन डिफ़ॉल्ट रूप से सक्रिय है, और आपको एक खाली पासवर्ड का उपयोग करने से रोकता है।

खाली पासवर्ड की अनुमति के लिए आपको इस प्लगइन को निष्क्रिय करना होगा:

UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR root@localhost = PASSWORD('');

सावधान रहें कि जब तक आप सुरक्षा के बारे में परवाह नहीं करते हैं, आपको सुविधा के लिए फ़ाइल के साथ @ womble की सलाह का पालन ​​करना चाहिए और पासवर्ड का उपयोग करना चाहिए .my.cnf

इस विषय पर MySQL रूट पासवर्ड को हटाते हुए मेरे लेख की जाँच करें !


संस्करणों के लिए> 5.6 यह एकमात्र तरीका है जो काम करता है। मुझे संदेह है कि इसे पिछले संस्करणों पर भी काम करना चाहिए।
डिएगो

1

नए संस्करणों में

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'

और यह पासवर्ड हटा देगा

UPDATE mysql.user SET authentication_string=PASSWORD('') WHERE User='root'

हमारी साइट का प्रयोग करके, आप स्वीकार करते हैं कि आपने हमारी Cookie Policy और निजता नीति को पढ़ और समझा लिया है।
Licensed under cc by-sa 3.0 with attribution required.