Error decode JSON exrate
Wanneer je met MySQL DBMS werkt, is het uiterst belangrijk om te weten hoe je het gebruikerswachtwoord kunt wijzigen. Het lijkt erop dat deze taak alleen kan worden opgelost als je superuser-rechten hebt. Maar zelfs een gewone gebruiker kan onder bepaalde omstandigheden het wachtwoord wijzigen. In dit artikel vertellen we je hoe je dit onder normale omstandigheden kunt doen.
U kunt het wachtwoord van een gebruiker op verschillende manieren wijzigen. In de MySQL omgeving zijn er twee commando's voor deze taak - SET PASSWORD
en ALTER USER
. Laten we in detail vertellen over elk van deze twee methoden.
Aan het begin van dit jaar had MySQL twee hoofdversies. De eerste is verouderd maar wordt nog steeds ondersteund (het is versie 5.7), en de meest actuele op dit moment is versie 8.0. Hoe kom je achter de MySQL versie? U kunt dit doen met een speciaal commando, dat moet worden uitgevoerd in de terminal:
$ mysql –version
Zoals u in de afbeelding hierboven kunt zien, wordt versie 8.0.28 gebruikt, maar het is belangrijk op te merken dat ALTER USER
alleen relevant is in eerdere versies van MySQL.In nieuwere versies kunt u beide versies gebruiken.
Om naar de console te gaan, moet u inloggen op MySQL met uw login en wachtwoord. Als een gebruiker al geautoriseerd is op de server, moet u alle acties namens hem uitvoeren. Als MySQL voor de eerste keer wordt gebruikt, gebruikt u de rootrechten.
Het commando om in te loggen als root:
$ mysql -u root –p
Daarna verschijnt er een wachtwoordprompt. U hoeft alleen nog maar het wachtwoord in te voeren en op de Enter-toets te drukken. Onmiddellijk daarna wordt de MySQL interface met alle beschikbare commando's geladen.
De bijzonderheid van MySQL is dat het een aparte host heeft waaraan een account is gebonden. Laten we eens kijken naar de drie belangrijkste hosts:
Localhost staat alleen lokaal inloggen toe zonder connectiviteit op afstand, % betekent dat het account vanaf elke host kan worden gebruikt, IP-adres/domeinnaam betekent dat het account alleen kan worden gebruikt op de geselecteerde domeinnaam/IP-adres.
Om het hosttype van het account te achterhalen, moeten we de volgende SQL-query uitvoeren:
$ SELECT user, host FROM mysql.user
In de bovenstaande schermafbeelding kunnen we zien dat de gebruiker alex een host heeft van %. Deze host moet worden gebruikt bij het wijzigen van het wachtwoord. Gebruikers in MySQL en alle informatie over gebruikers worden opgeslagen in de mysql database in de tabel user.
Je kunt het wachtwoord ook wijzigen met de opdracht SET PASSWORD
. Om het wachtwoord voor gebruiker alex met host % te wijzigen in somepassword666 moet je het volgende commando gebruiken:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
Je kunt de gebruikerscode wijzigen met een ander commando - ALTER USER
. Om het wachtwoord voor de gebruiker alex met host % te wijzigen in een anderpassword666 voeren we een SQL-query uit:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Let op dat gebruikersnaam en host tussen enkele aanhalingstekens staan, zonder deze aanhalingstekens kan MySQL de string niet herkennen.
Reset nu de privilege cache:
$ FLUSH PRIVILEGES;
Nadat u het wachtwoord heeft gewijzigd, de rechten heeft veranderd en de cache heeft gereset, moet u een inlogverificatie uitvoeren als de gebruiker wiens wachtwoord is gewijzigd.
Sluit
de MySQL shell af
door het commando exit uit
te voeren:
$ exit
Log nu in op de shell:
$ mysql -u alex -p
Als u de systeemprompt ziet tijdens het inloggen, dan heeft u alles goed gedaan, wat betekent dat het wachtwoord succesvol is gewijzigd.