MySQL रूट पासवर्ड कैसे पता करें


167

मैं अपने MySQL रूट पासवर्ड का पता नहीं लगा सकता; मैं यह कैसे पता लगा सकता हूं? क्या कोई फ़ाइल है जहाँ यह पासवर्ड संग्रहीत है?

मैं इस लिंक का अनुसरण कर रहा हूं, लेकिन मेरे पास स्थानीय में डायरेक्टेडमिन डायरेक्ट्री नहीं है।


एक साधारण Google खोज से मिला: dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
Arran

11
डिफ़ॉल्ट रूट पासवर्ड है - इसके लिए प्रतीक्षा करें - "रूट" (उद्धरण के बिना), या बिल्कुल भी पासवर्ड नहीं है (और यह है कि mysql सर्वर वास्तव में आपका है)
निकोला बोगदानोविक

हाँ, यह मेरा स्थानीय mysql सर्वर मेरे लैपटॉप पर है
Om3ga

तो क्या कोई इस प्रश्न से गुजरता है और प्रत्येक सही और प्रासंगिक उत्तर पर एक डाउनवोट डंप करता है ?
lanzz

जवाबों:


142

@thusharaK को धन्यवाद मैं पुराने पासवर्ड को जाने बिना रूट पासवर्ड को रीसेट कर सकता था।

Ubuntu पर मैंने निम्नलिखित किया:

sudo service mysql stop
sudo mysqld_safe --skip-grant-tables --skip-syslog --skip-networking

फिर mysql को एक नए टर्मिनल में चलाएं:

mysql -u root

और पासवर्ड बदलने के लिए निम्न क्वेरीज़ चलाएँ:

UPDATE mysql.user SET authentication_string=PASSWORD('password') WHERE User='root';
FLUSH PRIVILEGES;

MySQL 5.7 में, mysql.user तालिका फ़ील्ड में पासवर्ड फ़ील्ड को हटा दिया गया था, अब फ़ील्ड का नाम 'प्रमाणीकरण_स्ट्रिंग' है।

Mysql सुरक्षित मोड से बाहर निकलें और mysql सेवा आरंभ करें:

mysqladmin shutdown
sudo service mysql start

24
मुझे mysqladmin -u root -p shutdownनए पासवर्ड के साथ उपयोग करना था ।
एसएल बर्थ -

2
विशेष रूप से अच्छा निर्देश प्रवाह: फिर mysql को एक नए टर्मिनल में चलाएं
मोहम्मद सुबी शेख कुरुश

8
मैं ऐसा नहीं कर सकता mysql -u root। यह त्रुटि दिखाता हैAccess denied
अविनाश राज

4
@AvashRaj: यह आज़माएँ: sudo mysql -u root
एलन गिंगरिच

बहुत बढ़िया। मैं समझ रहा हूं कि आरएचईएल 7: टर्मिनल 1 में क्या काम किया है: sudo service mysql stop sudo mysqld_safe --skip-allow-tables -skip-syslog --skip-नेटवर्किंग टर्मिनल 2: mysll -u root UPDATE mysql.user SET पासवर्ड = PASSWORD ('नया पासवर्ड') जहां उपयोगकर्ता = 'रूट'; फ्लश PRIVILEGES; mysqladmin -u root -p shutdown नोट: एक बार जब आप mysqladmin को बंद कर देते हैं, तो आप टर्मिनल 1 में सुरक्षित मोड से बाहर निकलते दिखेंगे। sudo service mysql start यह है और यह नए पासवर्ड के साथ एक आकर्षण की तरह काम करता है!
StackOverFlow यूजर

65

आप हैशेड पासवर्ड नहीं देख सकते हैं; केवल एक चीज जो आप कर सकते हैं वह है रीसेट!

MySQL बंद करो:

sudo service mysql stop

या

$ sudo /usr/local/mysql/support-files/mysql.server stop

इसे सुरक्षित मोड में शुरू करें:

$ sudo mysqld_safe --skip-grant-tables

(ऊपर की लाइन पूरी कमांड है)

यह एक चालू कमांड होगा जब तक कि प्रक्रिया समाप्त नहीं हो जाती है तब तक एक और शेल / टर्मिनल विंडो खोलें, बिना पासवर्ड के लॉग इन करें:

$ mysql -u root

mysql> UPDATE mysql.user SET Password=PASSWORD('password') WHERE User='root';

MySQL 5.7 और उससे अधिक:

mysql> use mysql; 
mysql> update user set authentication_string=password('password') where user='root'; 

MySQL प्रारंभ करें:

sudo mysql start

या

sudo /usr/local/mysql/support-files/mysql.server start

आपका नया पासवर्ड 'पासवर्ड' है।


sudo /usr/local/mysql/support-files/mysql.server रोक सुडो: /usr/local/mysql/support-files/mysql.server: कमांड मिली
Isuru

इस मामले में क्या करना है?
इसरू

ऐसा लगता है कि mysql ठीक से स्थापित नहीं है। इसे ठीक से अनइंस्टॉल करें और फिर से इंस्टॉल करें।
tk_

बहुत बहुत धन्यवाद। मेरे साथ कुछ अजीब हुआ mysql_secure_installationऔर जड़ अब सहयोग नहीं कर रहा था। authentication_stringसेटिंग क्या करती है?
होगा

3
फिर से शुरू करने के लिए, mysqladmin -u root -p shutdownनए पासवर्ड के साथ प्रयास करेंsudo service mysql start
फ़ोरम्यूलेटर

37

MySQL 5.7 और इसके बाद के संस्करण MySQL के लॉग फाइल में रूट सेव करता है।

कृपया इसे आज़माएँ:

sudo grep 'temporary password' /var/log/mysqld.log

मेरे मामले में पासवर्ड यहाँ नहीं था; हालांकि, इसके बजाय, /var/log/mysql/error.logरूट पासवर्ड के खाली होने के बारे में एक चेतावनी निहित थी - इसलिए इस तरह के मेरे दिन को बचाया :)
Janaka Bandara

19

एक बात जो मुझे mySQL के एक नए इंस्टाल पर फँसाती है और आश्चर्य करती है कि मुझे काम करने के लिए डिफ़ॉल्ट पासवर्ड क्यों नहीं मिला और काम न करने पर रीसेट तरीके भी क्यों। अच्छी तरह से पता चला है कि उबंटू 18 पर mysql सर्वर का सबसे हाल का संस्करण डिफ़ॉल्ट रूप से रूट उपयोगकर्ता के लिए पासवर्ड के उपयोग का उपयोग नहीं करता है। तो इसका मतलब यह है कि इससे कोई फर्क नहीं पड़ता कि आप इसे किसके लिए सेट करते हैं, यह आपको इसका उपयोग नहीं करने देगा। यह आपको एक विशेषाधिकार प्राप्त सॉकेट से लॉगिन करने की उम्मीद कर रहा है। इसलिए

mysql -u root -p

आप सही पासवर्ड का उपयोग कर रहे हैं, भले ही, बिल्कुल भी काम नहीं करेगा !!! इससे कोई फर्क नहीं पड़ेगा कि आपने क्या रखा है।

इसके बजाय आपको उपयोग करने की आवश्यकता है

sudo mysql

जो किसी भी पासवर्ड के साथ काम करेगा। फिर एक बार जब आप में टाइप करें

 ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password you want to use';

फिर लॉग आउट करें और अब खूनी चीज़ अंत में आपका पासवर्ड स्वीकार करेगी


17

आप इसे नहीं पा सकते। इसे एक डेटाबेस में संग्रहीत किया जाता है, जिसे एक्सेस करने के लिए आपको रूट पासवर्ड की आवश्यकता होती है, और यहां तक ​​कि अगर आपको किसी भी तरह से एक्सेस मिलता है, तो यह वन-वे हैश के साथ हैशेड होता है। आप इसे रीसेट कर सकते हैं: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html


14

विंडोज सिस्टम में पासवर्ड रीसेट करने के लिए इन चरणों का पालन करें

  1. टास्क मैनेजर की मैसकल सेवा बंद करें

  2. एक टेक्स्ट फ़ाइल बनाएं और नीचे दिए गए स्टेटमेंट को पेस्ट करें

MySQL 5.7.5 और इससे पहले:

SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');


MySQL 5.7.6 और बाद में:

ALTER USER 'root'@'localhost' IDENTIFIED BY 'yournewpassword';

  1. के रूप में सहेजें mysql-init.txtऔर इसे अंदर रखें 'C' drive

  2. कमांड प्रॉम्प्ट खोलें और निम्नलिखित पेस्ट करें

C:\> mysqld --init-file=C:\\mysql-init.txt


2
यह एक जीवन रक्षक था, महान टिप!
निकोलस क्रेडीबर्ग

Centos7 में काम किया mysqld --init-file=/root/m.txt। मैंने कमांड SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');को ऊपर /root/m.txt
दामोदर बश्याल

8

जब तक पैकेज मैनेजर स्थापना के दौरान रूट पासवर्ड टाइप करने का अनुरोध नहीं करता, तब तक डिफ़ॉल्ट रूट पासवर्ड खाली स्ट्रिंग है। हौसले से स्थापित सर्वर से कनेक्ट करने के लिए, टाइप करें:

shell> mysql -u root --password=
mysql>

पासवर्ड बदलने के लिए, यूनिक्स शेल वापस प्राप्त करें और टाइप करें:

shell> mysqladmin -u root --password= password root

नया पासवर्ड 'रूट' है। अब सर्वर से कनेक्ट करें:

shell> mysql -u root --password=
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)

ओह, पासवर्ड बदल गया है। नया प्रयोग करें root:

shell> mysql -u root --password=root
...
blah, blah, blah : mysql welcome banner
...
mysql> 

बिंगो! नया कुछ दिलचस्प करते हैं

mysql> show databases;
+--------------------+
| Database           |
+--------------------+
| information_schema |
| mysql              |
| performance_schema |
+--------------------+
3 rows in set (0.00 sec)

Maurycy


1
यह अब डिफ़ॉल्ट रूप से पासवर्ड लेकिन प्रमाणित सॉकेट का उपयोग नहीं कर रहा है। इसलिए अभी पासवर्ड बदलना बहुत अच्छा नहीं है।
किट रामोस

7

अन्य उत्तरों के अलावा, एक cpanel इंस्टॉलेशन में, mysql रूट पासवर्ड नाम की एक फ़ाइल में संग्रहीत है /root/.my.cnf। (और cpanel सेवा इसे वापस बदलने पर बदल देती है, इसलिए यहाँ अन्य उत्तर मदद नहीं करेंगे)


6

आप mysql रूट पासवर्ड देख सकते हैं, अच्छी तरह से मैंने इसे mysql 5.5 पर आज़माया है ताकि अन्य नए संस्करण के बारे में पता न चले या काम न करें

nano ~/.my.cnf

4

यह मेरे लिए काम किया:

टर्मिनल पर निम्न लिखें

$ sudo mysql -u root -p

पासवर्ड डालें: // बस एंटर दबाएं

mysql>


ऐसा लगता है कि mysql सर्वर अब डिफ़ॉल्ट रूप से पासवर्ड की स्थिति का उपयोग नहीं कर रहा है। जब तक आप लॉगिन विधि नहीं बदलते, तब तक आपको एक सुपर उपयोगकर्ता (sudo) के रूप में mysql क्लाइंट शुरू करना होगा।
किट रामोस

4

डिफ़ॉल्ट पासवर्ड जो mysql सर्वर की तत्काल स्थापना के बाद मेरे लिए काम करता है: mysql


2
हो सकता है कि उसने इस सवाल का जवाब न दिया हो, लेकिन यहां आने वाले कई लोगों को यह समस्या का हल मिल सकता है।
ओहद कोहेन

3

MySql के संस्करण के आधार पर प्रक्रिया बदल जाती है। आपके संस्करण के लिए वर्णित प्रक्रिया का पालन करें:

  • संकेत - MySql * के अपने संस्करण के लिए निर्देश पृष्ठ से पहले पढ़ें

  • चरण 5 में: CMD चलाने के बजाय, अपने डेस्कटॉप पर CDM.exe कॉलिंग शॉर्टकट बनाएँ। फिर शॉर्टकट पर राइट-क्लिक करें और "Execute as Administrator" चुनें।

  • चरण 6 में: कमांड के पहले प्रस्तावित संस्करण को छोड़ें और दूसरे को निष्पादित करें, - thefafaults-file पैरामीटर के साथ

  • एक बार जब आप कमांड निष्पादित करते हैं, यदि सबकुछ ठीक है, तो सीएमडी विंडो खुली रहती है और चरण 6 की कमांड निष्पादित होती रहती है। बस विंडो बंद करें ('x' पर क्लिक करें), और फिर टास्क मैनेजर से MySQl को बंद करें।

  • SQL कमांड के साथ फाइल को डिलीट करें, और फिर से MySQL शुरू करें। पासवर्ड अब बदलना होगा।

5.0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html

5.1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html

... बस संस्करण को लिंक में बदलें (5.5, 5.6, 5.7)


3

डेटा फ़ोल्डर MySQL के अंदर आपकी "hostname" .err फ़ाइल पर काम करता है, इसके साथ शुरू होने वाले स्ट्रिंग की तलाश करने का प्रयास करें:

"रोस्टर @ लोकलहोस्ट के लिए एक अस्थायी पासवर्ड बनाया गया है"

आप उपयोग कर सकते हैं

less /mysql/data/dir/hostname.err 

फिर स्लैश कमांड के बाद स्ट्रिंग जिसे आप ढूंढना चाहते हैं

/"A temporary password"

फिर n दबाएं, अगले परिणाम पर जाने के लिए।



0

सिस्टम:

  • CentOS Linux 7
  • mysql Ver 14.14 डिस्ट्रीब्यूट 5.7.25

प्रक्रिया:

  1. दो शेल सत्र खोलें, एक को लिनक्स रूट उपयोगकर्ता के रूप में और दूसरा एक गैर-उपयोगकर्ता के रूप में mysqlकमांड तक पहुंच के साथ ।

  2. अपने मूल सत्र में, सामान्य mysqld श्रोता को रोकें और एक श्रोता को शुरू करें जो पासवर्ड प्रमाणीकरण को दरकिनार करता है ( ध्यान दें: यह एक महत्वपूर्ण सुरक्षा जोखिम है क्योंकि mysql कमांड का उपयोग करने वाला कोई भी व्यक्ति बिना पासवर्ड के आपके डेटाबेस तक पहुंच सकता है। आप सक्रिय शेल सत्र बंद करना चाह सकते हैं। और / या ऐसा करने से पहले शेल पहुंच को अक्षम करें):

    # systemctl stop mysqld
    # /usr/sbin/mysqld --skip-grant-tables -u mysql &

  3. अपने गैर-सत्र सत्र में, mysql में लॉग इन करें और mysql रूट पासवर्ड सेट करें:

    $ mysql
    mysql> flush privileges;
    Query OK, 0 rows affected (0.00 sec)

    mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
    Query OK, 0 rows affected, 1 warning (0.01 sec)

    mysql> quit;

  4. अपने मूल सत्र में, mysqld के पासवर्ड रहित उदाहरण को मारें और सामान्य mysqld श्रोता को सेवा में पुनर्स्थापित करें:

    # kill %1
    # systemctl start mysqld

  5. अपने गैर-सत्र सत्र में, आपके द्वारा ऊपर कॉन्फ़िगर किए गए नए रूट पासवर्ड का परीक्षण करें:

    $ mysql -u root -p
    Enter password:
    Welcome to the MySQL monitor. Commands end with ; or \g.
    ...
    mysql>


-2

मैंने इसे एक अलग तरीके से हल किया, यह कुछ के लिए आसान हो सकता है।

मैंने इसे इस तरह से किया क्योंकि मैंने सुरक्षित मोड में शुरू करने की कोशिश की, लेकिन त्रुटि से नहीं जुड़ सकता: ERROR 2002 (HY000): सॉकेट '/var/run/mysqld/mysqld.sock' (2) के माध्यम से स्थानीय MySQL सर्वर से कनेक्ट नहीं हो सकता

मैंने जो किया वह सामान्य रूप से जड़ से जोड़ने के लिए था:

$ sudo mysql -u root

फिर मैंने एक नया सुपर यूजर बनाया:

mysql> grant all privileges on *.* to 'myuser'@'%' identified by 'mypassword' with grant option;
mysql> quit

फिर myuser के रूप में लॉग इन करें

$ mysql -u myuser -p -h localhost

पासवर्ड बदलने की कोशिश ने मुझे कोई त्रुटि नहीं दी, लेकिन मेरे लिए कुछ भी नहीं किया इसलिए मैंने रूट उपयोगकर्ता को छोड़ दिया और फिर से बनाया

mysql> drop user 'root'@'localhost;
mysql> mysql> grant all privileges on *.* to 'root'@'localhost' identified by 'mypassword' with grant option;

रूट उपयोगकर्ता अब नए पासवर्ड के साथ काम कर रहा है


-5

PhpMyAdmin> config.inc.php> $ cfg ['सर्वर'] [$ i] [= पासवर्ड ’] =’ ’पर जाएं;


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