Come rimuovere la password di root di MySQL [chiusa]


195

Voglio rimuovere la password per l'utente root in localhost. Come lo posso fare? Per errore ho impostato la password dell'utente root. Ecco perché phpmyadmin sta dando un errore:

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


4
Perché non configurare phpMyAdmin per utilizzare invece la password di root?
sisve,

2
La documentazione di MySQL contiene istruzioni su come reimpostare la password di root nel caso in cui l'avessi dimenticata.
Michael Madsen,

Si noti che a partire da MySQL 5.7, una password di root casuale è impostata per impostazione predefinita e non è possibile rimuoverla senza disabilitare validate_passwordprima il plug-in. Vedi il mio articolo Rimozione della password di root di MySQL o di questa sintesi direttamente.
Benjamin,

Risposte:


360

Devi impostare la password per root@localhostessere vuota. Ci sono due modi:

  1. Il SET PASSWORDcomando MySQL :

    SET PASSWORD FOR root@localhost=PASSWORD('');
  2. Utilizzando lo mysqladminstrumento da riga di comando:

    mysqladmin -u root -pType_in_your_current_password_here password ''

1
come posso resettare la password per un database perticolare?
nettare,

4
mysqladmin -u root -pcurrent_password password '' è un altro modo per farlo.
crackity_jones

7
Ho dovuto fare mysqladmin -u root -p password ''quindi inserire la password.
crizCraig

2
@crizCraig probabilmente perché la tua password non lo era CURRENTPASSWORD, l'argomento password (a differenza di altri argomenti) non ha uno spazio dopo. Se ometti una password, ti verrà richiesta una ( doc )
Jason Sperske,

3
@mOna prova in questo modo: 1- spegni mysql (chiudendo il servizio o uccidendolo); 2- creare un file contenente SET PASSWORD FOR root@localhost=PASSWORD('');chiamato restore; 3- chiamata mysqld_safe --init-file=path/to/restore; Finalmente accedi e cambia di nuovo la password con quello che preferisci.
Dario,

23

Ho anche avuto questo problema,

Per prima cosa ho provato a impostare la mia password di root su vuoto usando il comando:

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

Ma non essere felice, PHPMYADMIN usa 127.0.0.1 non localhost, so che diresti che sono entrambi uguali ma non è così, usa il comando menzionato sotto e il gioco è fatto.

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

Sostituisci localhost con 127.0.0.1 e il gioco è fatto.


3
SET PASSWORD FOR root @ localhost = PASSWORD (''); ha funzionato per me
workdreamer,
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.