Dažreiz MySQL instalēšanas laikā lietotājs nenoteic root paroli, un tad kā autorizācijas metode tiek izmantota unix_socket
metode. Ja tiek izmantota šī autorizācija, tikai sistēmas superlietotājs vai lietotājs ar sudo privilēģijām varēs autentificēties kā root lietotājs.
Izmantojot mysql_secure_installation
, tiks veikts mēģinājums mainīt paroli, un šādā gadījumā tiks saņemta kļūda mysql SET PASSWORD
has no significance for user'root
'@
'localhost
'. Pastāstīsim, kā to atrisināt un novērst tālāk.
Pilns kļūdas nosaukums ir šāds:
SET PASSWORD has no significance for user 'root'@'localhost' as the authentication method used doesn't store authentication data in the MySQL server. Please consider using ALTER USER instead if you want to change authentication parameters.
Kļūda tiek tulkota kā:
"Nav jēgas izpildīt SET PASSWORD
metodi lietotājam'root
'@
'localhost
', jo izvēlētā autorizācijas metode neatbalsta autorizācijas datu saglabāšanu. Ja vēlaties mainīt autorizācijas parametrus, izmantojiet ALTER USER
."
Autorizācijas metode unix_socket nesaglabā paroles, tā neveic autorizāciju, izmantojot paroli, tā pārbauda, vai konkrētais lietotājs atbilst superlietotāja nosacījumiem. Un lietotājam nav iespējams vienkārši izlaist root paroles iestatīšanu (ja tā nav iestatīta). Tāpēc programmatūra neļauj turpināt darbu. Problēmu var novērst, pieslēdzoties MySQL.
Vienlaikus jāmaina autorizācijas metode un parole:
sudo mysql
SQL vidē jāizpilda šāda komanda:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Aizveriet MySQL klientu ar komandu:
exit;
Pēc tam, kad ir nepieciešams palaist mysql_secure_installation
, ievadiet root
paroli. Pēc tam varat pabeigt konfigurāciju bez jebkādām problēmām. Lūdzu, ņemiet vērā, ka pēc tam jūs varēsiet izveidot savienojumu ar mysql, izmantojot sudo bez paroles, jo ir aktivizēta paroles autorizācijas metode. Lai pēc mysql_secure_installation
atgrieztos pie iepriekšējiem iestatījumiem, izveidojiet savienojumu ar MySQL.
Izmantojiet paroli un izpildiet:
ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
Tas ir viss - instrukcija ir pabeigta.