Come posso cambiare la mia password di root mysql in vuota?


43

Quando lavoro localmente, non ho davvero bisogno di inserire la mia password per accedere al mio database. Ho cambiato la mia password di root quando ho installato mysql per la prima volta, ma non so come ripristinare la mia password. Cosa dovrei fare?

Risposte:


43

Per modificare la password di root in newpassword:

 mysqladmin -u root -p'oldpassword' password 'newpassword'

Per cambiarlo in modo che root non richieda una password:

 mysqladmin -u root -p'oldpassword' password ''

Nota: penso che sia importante che non ci sia uno spazio tra il -pe 'oldpassword'ma potrei sbagliarmi al riguardo


3
continuo a ricevere errori: accesso negato per 'root' @ localhost. come posso risolvere questo per favore?
martedì

funziona per me: mysqladmin -u root -p'oldpassword 'password' '@tq: è necessario digitare extactly oldpassword
Nam

15

Invece di rimuovere la password (che potrebbe avere conseguenze spiacevoli in futuro se si dovesse esporre quel server ai jolly), inserire la password corrente (e il nome utente) in ~/.my.cnf(o presumibilmente in una posizione equivalente in Windows) che assomiglia a questo:

[client]
user = root
password = s3kr1t

Ciò offre a MySQL la straordinaria capacità di accedere automaticamente utilizzando le credenziali fornite, senza lasciarti spalancato per spiacevoli inconvenienti in futuro.


7
  1. Arresta mysqld e riavvialo con l' opzione --skip-grant-tables .
  2. Connettiti ad esso usando solo mysql .
  3. Cambia la password di root:

    AGGIORNA mysql.user SET Password = PASSWORD ('MyNewPass') DOVE Utente = 'root';

    FLUSH PRIVILEGES;

Per riferimento: i documenti mysql ufficiali .


1
Funziona ma è un modo bruto per farlo. Questo è più per quando non si conosce la password.
David,

6

Tieni presente che a partire da MySQL 5.7, il plug-in validate_password è attivo per impostazione predefinita e ti impedisce di utilizzare una password vuota.

Devi disabilitare questo plugin per consentire una password vuota:

UNINSTALL PLUGIN validate_password;
SET PASSWORD FOR root@localhost = PASSWORD('');

Fai attenzione che, a meno che tu non ti interessi della sicurezza, dovresti seguire i consigli di @ womble e usare una password, insieme a un .my.cnffile per comodità.

Consulta il mio articolo Rimozione della password di root di MySQL su questo argomento!


Per le versioni> 5.6 questo è l'unico modo che funziona. Sospetto che dovrebbe funzionare anche con le versioni precedenti.
Diego,

1

Nelle versioni più recenti

UPDATE mysql.user SET authentication_string=PASSWORD('MyNewPass') WHERE User='root'

e questo rimuoverà la password

UPDATE mysql.user SET authentication_string=PASSWORD('') WHERE User='root'

-1

Per l'ultimo MySQL 5.7.23:

mysqladmin -u root password '' -p

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.