Error decode JSON exrate Byta användarlösenord i MySQL
Betalningsmetoder Abuse

Byta användarlösenord i MySQL

10.10.2022, 21:52

När du arbetar med MySQL DBMS är det oerhört viktigt att veta hur du ändrar användarlösenordet. Det verkar som om den här uppgiften bara kan lösas om du har superanvändarrättigheter. Men även en vanlig användare kan ändra lösenordet under vissa omständigheter. I den här artikeln kommer vi att berätta hur du gör det under normala omständigheter.

Ändra ett användarlösenord i MySQL DBMS

Du kan ändra en användares lösenord på olika sätt. I MySQL-miljön finns det två kommandon för den här uppgiften - SET PASSWORD och ALTER USER. Låt oss berätta om var och en av dessa två metoder i detalj.

Låt oss ta reda på MySQL-versionen

I början av detta år har MySQL två huvudversioner. Den första är föråldrad men stöds fortfarande (det är version 5.7), och den mest aktuella för tillfället är version 8.0. Hur tar man reda på MySQL-versionen? Du kan göra detta med ett speciellt kommando, som ska köras i terminalen:

$ mysql –version

Узнаем версию MySQL

Som du kan se från bilden ovan används version 8.0.28, men det är viktigt att notera att ALTER USER endast är relevant i tidigare versioner av MySQL. I nyare versioner kan du använda båda versionerna.

Hur man går in i konsolen

För att komma in i konsolen måste du logga in på MySQL med din inloggning och ditt lösenord. Om en användare redan är behörig på servern ska du utföra alla åtgärder för hans räkning. När MySQL används för första gången bör du använda root-privilegier.

Kommandot för att logga in som root:

$ mysql -u root –p

Как зайти в консоль

Efter det kommer en lösenordsprompt att visas. Det återstår att ange lösenordet, trycka på Enter-tangenten, omedelbart efter det att MySQL-gränssnittet med alla tillgängliga kommandon kommer att laddas.

Visning av värdar

Det speciella med MySQL är att det har en separat värd som ett konto är bundet till. Låt oss notera de tre huvudvärdarna:

  • Lokal värd;
  • %;
  • IP-adress/domännamn.

Localhost tillåter endast lokal inloggning utan fjärranslutning, % innebär att kontot kan användas från vilken värd som helst, IP-adress/domännamn innebär att kontot endast kan användas på det valda domännamnet/IP-adressen.

För att ta reda på kontots värdtyp måste vi köra följande SQL-fråga:

$ SELECT user, host FROM mysql.user

Просмотр хостов

I skärmdumpen ovan kan vi se att användaren alex har en host på %. Denna host bör användas när du ändrar lösenordet. Användare i MySQL och all information om användare lagras i mysql-databasen i tabellen user.

Byta lösenord med SET PASSWORD

Du kan också ändra lösenordet med kommandot SET PASSWORD. Om du vill ändra lösenordet för användaren alex med host % till somepassword666 måste du använda följande kommando:

$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';

Меняем пароль с помощью SET PASSWORD

Ändra lösenordet med ALTER USER

Du kan ändra användarkoden med hjälp av ett annat kommando - ALTER USER. För att ändra lösenordet för användaren alex med värd % till ett annatpassword666 kör vi en SQL-fråga:

$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';

Меняем пароль с помощью ALTER USER

Observera att användarnamn och host är inneslutna i enkla citattecken, utan dessa citattecken kommer MySQL inte att kunna känna igen strängen.

Återställ nu privilegiecachen:

$ FLUSH PRIVILEGES;

Så här verifierar du det nya lösenordet

När du har ändrat lösenordet, ändrat behörigheten och återställt cacheminnet bör du utföra en inloggningsverifiering som den användare vars lösenord ändrades.

Avsluta MySQL-skalet genom att utföra kommandot exit:

$ exit

Как проверить новый пароль

Logga nu in på skalet:

$ mysql -u alex -p

Как проверить новый пароль

Om du ser systemprompten när du loggar in har du gjort allt på rätt sätt, vilket innebär att lösenordet har ändrats.