Error decode JSON exrate
Når man arbejder med MySQL DBMS, er det ekstremt vigtigt at vide, hvordan man ændrer brugerens adgangskode. Det ser ud til, at denne opgave kun kan løses, hvis du har superbrugerrettigheder. Men selv en almindelig bruger kan ændre adgangskoden under visse omstændigheder. I denne artikel vil vi fortælle dig, hvordan du gør det under normale omstændigheder.
Du kan ændre en brugers adgangskode på forskellige måder. I MySQL-miljøet er der to kommandoer til denne opgave - SET PASSWORD
og ALTER USER
. Lad os fortælle dig om hver af disse to metoder i detaljer.
I begyndelsen af dette år havde MySQL to hovedversioner. Den første er forældet, men understøttes stadig (det er version 5.7), og den mest aktuelle i øjeblikket er version 8.0. Hvordan finder man ud af MySQL-versionen? Det kan du gøre med en særlig kommando, som skal udføres i terminalen:
$ mysql –version
Som du kan se på billedet ovenfor, bruges version 8.0.28, men det er vigtigt at bemærke, at ALTER USER
kun er relevant i tidligere versioner af MySQL. I nyere versioner kan du bruge begge versioner.
For at komme ind i konsollen skal du logge ind på MySQL med dit login og din adgangskode. Når en bruger allerede er autoriseret på serveren, skal du udføre alle handlinger på hans vegne. Når MySQL bruges for første gang, skal du bruge root-rettigheder.
Kommandoen til at logge ind som root:
$ mysql -u root –p
Derefter kommer der en adgangskodeprompt. Man skal blot indtaste adgangskoden og trykke på Enter-tasten, hvorefter MySQL-grænsefladen med alle tilgængelige kommandoer indlæses.
Det særlige ved MySQL er, at det har en separat host, som en konto er bundet til. Lad os se på de tre hovedværter:
Localhost tillader kun lokalt login uden fjernforbindelse, % betyder, at kontoen kan bruges fra enhver vært, IP-adresse/domænenavn betyder, at kontoen kun kan bruges på det valgte domænenavn/IP-adresse.
For at finde ud af kontoens værtstype skal vi køre følgende SQL-forespørgsel:
$ SELECT user, host FROM mysql.user
I skærmbilledet ovenfor kan vi se, at alex-brugeren har en host på %. Denne host skal bruges, når adgangskoden ændres. Brugere i MySQL og alle oplysninger om brugere gemmes i mysql-databasen i tabellen user.
Du kan også ændre adgangskoden med kommandoen SET PASSWORD
. Hvis du vil ændre adgangskoden for brugeren alex med host % til somepassword666, skal du bruge følgende kommando:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
Du kan ændre brugerkoden med en anden kommando - ALTER US
ER. For at ændre adgangskoden for brugeren alex med host % til anotherpassword666 kører vi en SQL-forespørgsel:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Bemærk, at brugernavn og host er omsluttet af enkelte anførselstegn, uden disse anførselstegn kan MySQL ikke genkende strengen.
Nulstil nu privilegiecachen:
$ FLUSH PRIVILEGES;
Når du har ændret adgangskoden, ændret privilegiet og nulstillet cachen, skal du udføre en login-verifikation som den bruger, hvis adgangskode blev ændret.
Afslut MySQL-shellen ved at udføre exit-kommandoen
:
$ exit
Log nu ind på shell'en:
$ mysql -u alex -p
Hvis du ser systemprompten, mens du logger ind, har du gjort alt korrekt, hvilket betyder, at adgangskoden er blevet ændret.