Ibland ställer användaren inte in root-lösenordet under MySQL-installationen, och då används unix_socket-metoden
som auktorisering. Om denna auktorisering används kan endast en superanvändare av systemet eller en användare med sudo-rättigheter autentisera sig som root-användare.
När du använder mysql_secure_installation
kommer ett försök att ändra lösenordet att göras, och i så fall får du ett fel från mysql SET PASSWORD
har ingen betydelse för användaren'root
'@'
localhost
'. Låt oss berätta hur du löser och eliminerar det ytterligare.
Det fullständiga namnet på felet är som följer:
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.
Felet översätts som:
"Det är ingen mening med att köra SET PASSWORD-metoden
för'root
'@
'localhost
' eftersom den valda auktoriseringsmetoden inte stöder lagring av auktoriseringsdata. Om du vill ändra behörighetsparametrarna ska du använda ALTER USER
."
Auktoriseringsmetoden unix_socket sparar inte lösenord, den utför inte auktorisering via lösenord, den kontrollerar om en viss användare uppfyller villkoren för superanvändare. Och det finns inget sätt för en användare att helt enkelt hoppa över att ställa in root-lösenordet (om det inte har ställts in). Det är därför som programmet inte tillåter dig att fortsätta. Du kan åtgärda problemet genom att ansluta till MySQL.
Du måste också ändra auktoriseringsmetoden och lösenordet samtidigt:
sudo mysql
I SQL-miljön måste du utföra följande kommando:
ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'password';
Stäng MySQL-klienten med kommandot:
exit;
När du har kört mysql_secure_installation
anger du root-lösenordet
. Sedan kan du avsluta konfigurationen utan problem. Observera att du efter detta kommer att kunna ansluta till mysql med sudo utan lösenord, eftersom metoden för lösenordsauktorisering är aktiverad. Om du vill återgå till de tidigare inställningarna efter mysql_secure_installation
ansluter du till MySQL.
Använd lösenordet och kör:
ALTER USER 'root'@'localhost' IDENTIFIED WITH auth_socket;
Det var det - instruktionen är klar.