Acolo te duci din nou. Ai rasucit o mașină virtuală pentru a face unele teste, instalat MySQL folosind preferate package manager, a început server, și nu a reușit să vă conectați:
$ mysql --user=root
ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: NO)
Începând cu versiunea 5.,7, MySQL este sigur-by-default:
- o întâmplare parola de root este generat la instalare; aveți nevoie pentru a citi acest lucru parola de conectare la server
- trebuie să schimbe parola la prima conectare
- nu puteți utiliza un gol parola pentru a validate_password plugin
Acesta este bun de securitate-înțelept. Dar dacă instalați doar MySQL pe un VM local pentru testarea proprie, acest lucru poate deveni foarte enervant.pentru a elimina parola rădăcină MySQL, trebuie doar să rulați următorul script imediat după instalarea și pornirea serverului MySQL:
pe MySQL 5.,7:
On MySQL 8.0:
Note: you must execute this script as root.,
script-ul efectuează următoarele acțiuni:
- citește parola temporară din fișierul jurnal
- schimbă parola la o altă parolă temporară care trece
validate_password
controale - dezinstalează
validate_password
plugin (sau componentă în MySQL 8) - stabilește un gol parola
acum Vă puteți conecta fără parolă:
Fii atent că acest lucru lasă de instalare MySQL negarantate, tu nu ar trebui să folosească acest lucru pentru ceva serios!,
o alternativă sigură
Dacă utilizați în principal MySQL din linia de comandă, puteți păstra contul root
protejat de o parolă, evitând în același timp inconvenientul de a fi nevoit să furnizați parola în linia de comandă.
Doar a crea un ~/.my.cnf
fișier:
user = root
password = xxx
acum puteți doar să tastați mysql
, MySQL si clientul se va conecta automat cu aceste acreditări.