मेरे पास एक समाधान है!
चरण 2 पर रूट पासवर्ड रीसेट करते समय, प्रमाणीकरण प्लगइन को mysql_native_password
में भी बदलें :
use mysql;
update user set authentication_string=PASSWORD("") where User='root';
update user set plugin="mysql_native_password" where User='root'; # THIS LINE
flush privileges;
quit;
इसने मुझे सफलतापूर्वक लॉग इन करने की अनुमति दी!
पूर्ण कोड समाधान
<एच4>1. बैश कमांड चलाएँ1. सबसे पहले, ये बैश कमांड चलाएँ
sudo /etc/init.d/mysql stop # stop mysql service
sudo mysqld_safe --skip-grant-tables & # start mysql without password
# enter -> go
mysql -uroot # connect to mysql
<एच4>2. फिर mysql कमांड चलाएँ => इसे मैन्युअल रूप से cli में कॉपी पेस्ट करें use mysql; # use mysql table
update user set authentication_string=PASSWORD("") where User='root'; # update password to nothing
update user set plugin="mysql_native_password" where User='root'; # set password resolving to default mechanism for root user
flush privileges;
quit;
<एच4>3. अधिक बैश कमांड चलाएँ sudo /etc/init.d/mysql stop
sudo /etc/init.d/mysql start # reset mysql
# try login to database, just press enter at password prompt because your password is now blank
mysql -u root -p
<एच4>4. सॉकेट समस्या (आपकी टिप्पणियों से) जब आप एक सॉकेट देखते हैं त्रुटि, एक समुदाय 2 संभावित समाधानों के साथ आया:
sudo mkdir -p /var/run/mysqld; sudo chown mysql /var/run/mysqld
sudo mysqld_safe --skip-grant-tables &
(@Cerin को धन्यवाद)
या
mkdir -p /var/run/mysqld && chown mysql:mysql /var/run/mysqld
(@Peter Dvukhrechensky को धन्यवाद)
अंधे पथ और संभावित किनारे त्रुटियां
लोकलहोस्ट के बजाय 127.0.0.1 का उपयोग करें
mysql -uroot # "-hlocalhost" is default
"लापता फ़ाइल" या slt त्रुटि हो सकती है।
mysql -uroot -h127.0.0.1
बेहतर काम करता है।
सॉकेट की समस्या छोड़ें
मुझे mysqld.sock
create बनाने के कई तरीके मिले हैं फ़ाइल, एक्सेस अधिकार बदलें या इसे सिमलिंक करें। आखिर यह मुद्दा नहीं था।
my.cnf
को छोड़ दें फ़ाइल
मसला भी नहीं था। अगर आप सुनिश्चित नहीं हैं, तो यह आपकी मदद कर सकता हैए> ।