Jakiej wersji mySQL używasz? Używam wersji 5.7.10 i miałem ten sam problem z zalogowaniem się jako root
Są 2 problemy - dlaczego nie mogę zalogować się jako root i dlaczego nie mogę użyć 'mysqld_safe` do uruchomienia mySQL w celu zresetowania hasła roota.
Nie mam odpowiedzi na temat ustawiania hasła roota podczas instalacji, ale oto, co musisz zrobić, aby zresetować hasło roota
Edytuj początkowe hasło roota podczas instalacji można znaleźć, uruchamiając
grep 'temporary password' /var/log/mysqld.log
https://dev.mysql.com /doc/refman/5.7/en/linux-installation-yum-repo.html
-
systemdjest teraz używany do obsługi mySQL zamiastmysqld_safe(dlatego otrzymujesz-bash: mysqld_safe: command not foundbłąd - nie jest zainstalowany) -
userstruktura tabeli uległa zmianie.
Aby zresetować hasło roota, nadal uruchamiasz mySQL z --skip-grant-tables opcje i zaktualizuj user tabeli, ale zmienił się sposób, w jaki to robisz.
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
Odniesienie
Jak mówi https://dev.mysql.com /doc/refman/5.7/en/mysqld-safe.html ,
Co prowadzi do https://dev .mysql.com/doc/refman/5.7/en/server-management-using-systemd.html
gdzie wspomina systemctl set-environment MYSQLD_OPTS= u dołu strony.
Polecenia resetowania hasła znajdują się na dole https:// dev.mysql.com/doc/refman/5.7/en/resetowanie-permissions.html