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
http://dev.mysql.com /doc/refman/5.7/en/linux-installation-yum-repo.html
-
systemd
jest teraz używany do obsługi mySQL zamiastmysqld_safe
(dlatego otrzymujesz-bash: mysqld_safe: command not found
błąd - nie jest zainstalowany) -
user
struktura 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 http://dev.mysql.com /doc/refman/5.7/en/mysqld-safe.html ,
Co prowadzi do http://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 http:// dev.mysql.com/doc/refman/5.7/en/resetowanie-permissions.html