आप MySQL का किस संस्करण का उपयोग कर रहे हैं? मैं 5.7.10 का उपयोग कर रहा हूं और रूट के रूप में लॉग ऑन करने में भी यही समस्या थी
2 मुद्दे हैं - मैं शुरू करने के लिए रूट के रूप में लॉग इन क्यों नहीं कर सकता, और मैं रूट पासवर्ड रीसेट करने के लिए mySQL प्रारंभ करने के लिए 'mysqld_safe' का उपयोग क्यों नहीं कर सकता।
मेरे पास इंस्टॉलेशन के दौरान रूट पासवर्ड सेट करने का कोई जवाब नहीं है, लेकिन यहां आप रूट पासवर्ड रीसेट करने के लिए क्या करते हैं
संपादित करें संस्थापन पर आरंभिक रूट पासवर्ड को चलाकर पाया जा सकता है
grep 'temporary password' /var/log/mysqld.log
http://dev.mysql.com /doc/refman/5.7/hi/linux-installation-yum-repo.html
-
systemd
अब इसका उपयोगmysqld_safe
. के बजाय mySQL की देखभाल के लिए किया जाता है (यही कारण है कि आपको-bash: mysqld_safe: command not found
. मिलता है त्रुटि - यह स्थापित नहीं है) -
user
तालिका संरचना बदल गई है।
तो रूट पासवर्ड रीसेट करने के लिए, आप अभी भी --skip-grant-tables
के साथ mySQL प्रारंभ करते हैं विकल्प और अपडेट करें user
तालिका, लेकिन आप इसे कैसे करते हैं यह बदल गया है।
1. Stop mysql:
systemctl stop mysqld
2. Set the mySQL environment option
systemctl set-environment MYSQLD_OPTS="--skip-grant-tables"
3. Start mysql usig the options you just set
systemctl start mysqld
4. Login as root
mysql -u root
5. Update the root user password with these mysql commands
mysql> UPDATE mysql.user SET authentication_string = PASSWORD('MyNewPassword')
-> WHERE User = 'root' AND Host = 'localhost';
mysql> FLUSH PRIVILEGES;
mysql> quit
*** Edit ***
As mentioned my shokulei in the comments, for 5.7.6 and later, you should use
mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY 'MyNewPass';
Or you'll get a warning
6. Stop mysql
systemctl stop mysqld
7. Unset the mySQL envitroment option so it starts normally next time
systemctl unset-environment MYSQLD_OPTS
8. Start mysql normally:
systemctl start mysqld
Try to login using your new password:
7. mysql -u root -p
संदर्भ
जैसा कि यह http://dev.mysql.com पर कहता है /doc/refman/5.7/hi/mysqld-safe.html ,
जो आपको http://dev पर ले जाता है .mysql.com/doc/refman/5.7/hi/server-management-using-systemd.html
जहां यह systemctl set-environment MYSQLD_OPTS=
का उल्लेख करता है पृष्ठ के निचले भाग की ओर।
पासवर्ड रीसेट कमांड http:// के नीचे हैं। dev.mysql.com/doc/refman/5.7/hi/resetting-permissions.html