Jak usunąć hasło root MySQL [zamknięte]

195

Chcę usunąć hasło użytkownika root w localhost. Jak mogę to zrobić? Przez pomyłkę ustawiłem hasło użytkownika root. Właśnie dlatego phpmyadmin podaje błąd:

#1045 - Access denied for user 'root'@'localhost' (using password: NO)

nektar
źródło
4
Dlaczego nie skonfigurować swojego phpMyAdmina do używania hasła roota?
sisve
2
Dokumentacja MySQL zawiera instrukcje dotyczące resetowania hasła roota na wypadek, gdybyś go zapomniał.
Michael Madsen,
Zauważ, że począwszy od MySQL 5.7, losowe hasło root jest ustawione domyślnie i nie można go usunąć bez uprzedniego wyłączenia validate_passwordwtyczki. Zobacz mój artykuł Usuwanie hasła root MySQL lub tej listy bezpośrednio.
Benjamin

Odpowiedzi:

360

Musisz ustawić hasło, root@localhostaby było puste. Istnieją dwa sposoby:

  1. Polecenie MySQL SET PASSWORD:

    SET PASSWORD FOR root@localhost=PASSWORD('');
  2. Za pomocą mysqladminnarzędzia wiersza polecenia :

    mysqladmin -u root -pType_in_your_current_password_here password ''
Dario
źródło
1
jak mogę zresetować hasło do perticular bazy danych?
nektar
4
mysqladmin -u root -pcurrent_password hasło '' to inny sposób, aby to zrobić.
crackity_jones
7
Musiałem to zrobić, mysqladmin -u root -p password ''a następnie wprowadzić hasło.
crizCraig
2
@crizCraig prawdopodobnie dlatego, że twoje hasło nie było CURRENTPASSWORD, argument hasła (w przeciwieństwie do innych argumentów) nie ma po nim spacji. Jeśli pominiesz hasło, wyświetli się monit o podanie jednego ( doc )
Jason Sperske
3
@mOna spróbuj tego: 1- wyłącz mysql (zamknij usługę lub ją zabij); 2- utwórz plik zawierający SET PASSWORD FOR root@localhost=PASSWORD('');wywołany restore; 3- połączenie mysqld_safe --init-file=path/to/restore; Na koniec zaloguj się i zmień hasło ponownie według własnego uznania.
Dario,
23

Przeszedłem również przez ten problem,

Najpierw próbowałem ustawić moje hasło roota na puste, używając polecenia:

SET PASSWORD FOR root@localhost=PASSWORD('');

Ale nie bądź szczęśliwy, PHPMYADMIN używa 127.0.0.1 nie localhost, wiem, że powiedziałbyś, że oba są takie same, ale tak nie jest, użyj polecenia wymienionego poniżej i gotowe.

SET PASSWORD FOR root@127.0.0.1=PASSWORD('');

Po prostu zamień localhost na 127.0.0.1 i gotowe.

Faiz Akhtar
źródło
3
USTAW HASŁO DLA roota @ localhost = HASŁO (''); pracował dla mnie
workdreamer