MySQL :: MySQL 8.0 Reference Manual :: 13.7.1.10 SÆT PASSWORD Erklæring

13.7.1.10 SÆT PASSWORD Erklæring

SET PASSWORD erklæring tildeler en adgangskode til en MySQL bruger konto. Adgangskoden kan være enten eksplicit angivet i sætningen eller tilfældigt genereret af Mys .l. Erklæringen kan også indeholde en pass .ord-verifikationsklausul, der angiver den konto nuværende adgangskode, der skal udskiftes, og en klausul, der styrer, om en konto har en sekundær adgangskode., 'auth_string ' og 'current_auth_string ' repræsenterer hver en klar tekst (ikke-krypteret) adgangskode.

Bemærk

i Stedet for at bruge SET PASSWORD for at tildele adgangskoder, ALTER USER er foretrukket opgørelse for konto ændringer, herunder tildeling af adgangskoder., For eksempel:

ALTER USER user IDENTIFIED BY 'auth_string';

Bemærk

Klausuler for random password generering, password kontrol, og sekundære adgangskoder gælder kun for de konti, bruge en godkendelse plugin der gemmer legitimationsoplysninger internt til MySQL. For konti, der bruger et plugin, der udfører godkendelse mod et legitimationssystem, der er eksternt til Mys .l, skal adgangskodestyring også håndteres eksternt mod dette system. Yderligere oplysninger om intern opbevaring af legitimationsoplysninger findes i afsnit 6.2.15, “adgangskodehåndtering”.,

REPLACE 'current_auth_string' klausul udfører password kontrol og er tilgængelig som af MySQL 8.0.13. Hvis givet:

  • REPLACE angiver den konto aktuelle adgangskode, der skal udskiftes, som en clearte .t (ikke-krypteret) streng.

  • klausulen skal angives, hvis adgangskodeændringer for kontoen er nødvendige for at angive den aktuelle adgangskode, som bekræftelse af, at den bruger, der forsøger at foretage ændringen, faktisk kender den aktuelle adgangskode.,

  • klausulen er valgfri, hvis adgangskoden ændres for kontoen, men ikke behøver at angive den aktuelle adgangskode.

  • sætningen mislykkes, hvis klausulen er angivet, men ikke stemmer overens med den aktuelle adgangskode, selvom klausulen er valgfri.

  • REPLACE kan kun angives, når du ændrer kontoadgangskoden for den aktuelle bruger.

For mere information om password kontrol ved at angive den aktuelle adgangskode, se Afsnit 6.2.15, “Password”.,

RETAIN CURRENT PASSWORD-klausulen implementerer dobbelt adgangskodefunktion og er tilgængelig fra Mys .l 8.0.14. Hvis givet:

  • RETAIN CURRENT PASSWORD bevarer en konto nuværende adgangskode som sin sekundære adgangskode, erstatter enhver eksisterende sekundær adgangskode. Den nye adgangskode bliver den primære adgangskode, men klienter kan bruge kontoen til at oprette forbindelse til serveren ved hjælp af enten den primære eller sekundære adgangskode., (Undtagelse: Hvis den nye adgangskode, der er angivet af SET PASSWORD – sætningen, er tom, bliver den sekundære adgangskode også tom, selvom RETAIN CURRENT PASSWORD er angivet.)

  • Hvis du angiver RETAIN CURRENT PASSWORD for en konto, der har en tom primær adgangskode, mislykkes erklæringen.

  • Hvis en konto har en sekundær adgangskode, og du kan ændre dens primære adgangskode, uden at angive RETAIN CURRENT PASSWORD, den sekundære adgangskode forbliver uændret.

For mere information om brug af dobbelte adgangskoder, se afsnit 6.2.,15, “Pass Passwordord Management”.

SET PASSWORD tilladelser disse auth_option syntaks:

  • = 'auth_string'

    Tildeler den konto givet bogstavelig adgangskode.

  • TO RANDOM

    tildeler kontoen en adgangskode tilfældigt genereret af Mys .l. Erklæringen returnerer også clearte .t-adgangskoden i et resultatsæt for at gøre det tilgængeligt for brugeren eller applikationen, der udfører erklæringen.,

    for detaljer om resultatsættet og karakteristika for tilfældigt genererede adgangskoder, se tilfældig Adgangskodegenerering.

    tilfældig adgangskodegenerering er tilgængelig fra Mys .l 8.0.18.

Vigtigt

Under nogle omstændigheder SET PASSWORD kan blive optaget i server logs eller på klientsiden i en historie-fil som f.eks. ~/.mysql_history hvilket betyder, at cleartext passwords kan læses af enhver, der har læse-adgang til disse oplysninger., For oplysninger om de betingelser, hvorunder dette sker for serverlogfiler og hvordan man styrer det, se Afsnit 6.1.2.3, “adgangskoder og logning”. For lignende oplysninger om klientsiden logning, Se afsnit 4.5.1.3, “Mys .l klient logning”.,p> SET PASSWORD kan bruges med eller uden en FOR bestemmelse, der udtrykkeligt nævner en brugerkonto:

  • Med FOR user klausul, at den erklæring, der angiver adgangskoden for den angivne konto, der skal findes:

    SET PASSWORD FOR 'jeffrey'@'localhost' = 'auth_string';
  • uden FOR user klausul, at den erklæring, der angiver adgangskoden for den aktuelle bruger:

    SET PASSWORD = 'auth_string';

    Enhver klient der forbinder til serveren ved hjælp af en nonanonymous konto, der kan ændre adgangskoden for denne konto., (Især kan du ændre din egen adgangskode.) For at se, hvilken konto serveren har godkendt dig som påberåbe CURRENT_USER() funktion:

    SELECT CURRENT_USER();

Hvis FOR user klausulen er givet, at den konto, navn, bruger-format er beskrevet i Afsnit 6.2.4, “Angive kontonavne”. For eksempel:

SET PASSWORD FOR 'bob'@'%.example.org' = 'auth_string';

værtsnavndelen af kontonavnet, hvis udeladt, er som standard '%'.,

SET PASSWORD fortolker strengen som en klartekst-streng, sender det til godkendelse plugin, der er forbundet med kontoen, og gemmer resultatet, som returneres af plugin på kontoen række i mysql.user system bordet. (Dette plugin får mulighed for at hash værdien i kryptering format det forventer. Dette plugin kan bruge værdien som angivet, i hvilket tilfælde ingen hashing sker.,)

Indstilling af adgangskoden til en navngiven konto (med en FOR klausul) kræver UPDATE privilegium for de mysql system-skema. Indstilling af adgangskoden til dig selv (for en ikke-anonym konto uden FOR klausul) kræver ingen særlige privilegier.,

Erklæringer om, at ændre sekundære adgangskoder kræve, at disse privilegier:

  • APPLICATION_PASSWORD_ADMIN privilegium er forpligtet til at bruge RETAIN CURRENT PASSWORD klausul for SET PASSWORD erklæringer, der gælder for din egen regning. Privilegiet er påkrævet for at manipulere din egen sekundære adgangskode, fordi de fleste brugere kun kræver en adgangskode.,

  • Hvis en konto er tilladt at manipulere sekundære adgangskoder til alle konti, der bør gives CREATE USER privilegier snarere end APPLICATION_PASSWORD_ADMIN.

Når read_only system-variablen er aktiveret, SET PASSWORD kræver CONNECTION_ADMIN privilegium (eller deprecated SUPER privilegium), i tillæg til eventuelle andre nødvendige privilegier.

For yderligere oplysninger om indstilling af adgangskoder og godkendelsesplugins, se afsnit 6.2.,14, “tildeling af kontoadgangskoder”, og afsnit 6.2.17,”pluggbar godkendelse”.

Share

Skriv et svar

Din e-mailadresse vil ikke blive publiceret. Krævede felter er markeret med *