जब मैंने कोड का उपयोग किया mysqld_safe --skip-grant-tables &
लेकिन मुझे त्रुटि मिली:
UNIX सॉकेट फ़ाइल के लिए mysqld_safe निर्देशिका '/ var / run / mysqld' मौजूद नहीं है।
$ systemctl stop mysql.service
$ ps -eaf|grep mysql
$ mysqld_safe --skip-grant-tables &
मैंने हल कर लिया:
$ mkdir -p /var/run/mysqld
$ chown mysql:mysql /var/run/mysqld
अब मैं उसी कोड का उपयोग करता हूं mysqld_safe --skip-grant-tables &
और प्राप्त करता हूं
mysqld_safe / var / lib / mysql से डेटाबेस के साथ mysqld डेमन शुरू करना
अगर मैं उपयोग $ mysql -u root
करूँगा तो मुझे मिलेगा:
सर्वर संस्करण: 5.7.18-0ubuntu0.16.04.1 (Ubuntu)
कॉपीराइट (c) 2000, 2017, Oracle और / या इसके सहयोगी। सभी अधिकार सुरक्षित।
ओरेकल ओरेकल कॉर्पोरेशन और / या इसके सहयोगियों का एक पंजीकृत ट्रेडमार्क है। अन्य नाम उनके अपने स्वामियों के ट्रेडमार्क हो सकते हैं।
'सहायता' टाइप करें या मदद के लिए '\ h'। वर्तमान इनपुट स्टेटमेंट को क्लियर करने के लिए 'c' टाइप करें।
mysql>
अब पासवर्ड बदलने का समय:
mysql> use mysql
mysql> describe user;
तालिका और स्तंभ नामों को पूरा करने के लिए तालिका जानकारी पढ़ना। आप इस सुविधा को बंद कर सकते हैं -ए के साथ एक तेज स्टार्टअप प्राप्त करने के लिए
डेटाबेस बदल गया
mysql> FLUSH PRIVILEGES;
mysql> SET PASSWORD FOR root@'localhost' = PASSWORD('newpwd');
या यदि आपके पास एक mysql रूट खाता है जो हर जगह से जुड़ सकता है, तो आपको यह भी करना चाहिए:
UPDATE mysql.user SET Password=PASSWORD('newpwd') WHERE User='root';
वैकल्पिक विधि:
USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = 'localhost' AND User = 'root';
और अगर आपके पास एक रूट खाता है जो हर जगह से पहुंच सकता है:
USE mysql
UPDATE user SET Password = PASSWORD('newpwd')
WHERE Host = '%' AND User = 'root';`enter code here
अब quit
mysql से जरूरत है और बंद करो / शुरू करो
FLUSH PRIVILEGES;
sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start
अब फिर से 'mysql -u root -p' और पाने के लिए नए पासवर्ड का उपयोग करें
mysql>