Eğer
mysqld_safe
komutunu çalıştırmaya çalıştığınızda şu mesajı alıyorsanız;mysqld_safe: command not found
ve sisteminizi systemd (systemctl) ile yönetiyorsanız aşağıdaki adımları uygulayarak mysql e erişim sağlayabilir ve root kullanıcısına ait parolayı sıfırlayabilirsiniz.
1 - MySQL'i durdurun ve uygun MYSQLD_OPTS ile yeniden başlatın
sudo service mysqld stop;
sudo systemctl set-environment MYSQLD_OPTS="--skip-grant-tables --skip-networking";
sudo service mysqld start;
2 - MySQL başladıktan sonra, root olarak şifresiz giriş yapın
mysql -u root;
3 - MySQL içinde şu komutları çalıştırın; [password] kısmını istediğiniz şifre ile değiştirin
FLUSH PRIVILEGES;
ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY '[password]';
FLUSH PRIVILEGES;
exit;
İlk FLUSH PRIVILEGES; komutu, MySQL'i --skip-grant-tables ile başlattığınızda gereklidir. Ancak, FLUSH PRIVILEGES; komutunun çalıştırılmasında herhangi bir risk veya tehlike yoktur.
4 - MYSQLD_OPTS ayarlarını geri alın ve MySQL'i yeniden başlatın
sudo service mysqld stop;
sudo systemctl unset-environment MYSQLD_OPTS;
sudo service mysqld start;
Bütün adımları tamamladıktan sonra, yeni şifrenizi kullanarak root olarak MySQL'e giriş yapabilirsiniz.
mysql -u root -p