MySQL :: MySQL 8.0 Reference Manual :: 13.7.1.10 ANGI PASSORD Uttalelse

13.7.1.10 ANGI PASSORD Uttalelse

SET PASSWORD uttalelse tildeler en passordet til MySQL-brukerkonto. Passordet kan være enten uttrykkelig angitt i erklæringen eller er tilfeldig generert av MySQL. Uttalelsen kan også inkludere et passord-bekreftelse klausul som angir kontoen din nåværende passord skal skiftes ut, og en klausul som styrer om en konto er en sekundær passord., 'auth_string' og 'current_auth_string' hver representerer en cleartext (ukryptert passord.

Obs!

Snarere enn å bruke SET PASSWORD for å tilordne passord, ALTER USER er den foretrukne uttalelse for kontoen endringer, inkludert tildeling av passord., For eksempel:

ALTER USER user IDENTIFIED BY 'auth_string';

Obs!

Klausuler for tilfeldig passord generasjon, passord bekreftelse, og sekundær passordene gjelder bare for kontoer som bruker en godkjenning plugin som lagrer legitimasjon internt til MySQL. For kontoer som bruker en plugin som foretar autentisering mot en legitimasjon system som er eksterne til MySQL-passord management, må håndteres eksternt mot at systemet så godt. For mer informasjon om interne legitimasjon lagring, kan du se Delen 6.2.15, «Passord».,

REPLACE 'current_auth_string' – punkt utfører passord bekreftelse og er tilgjengelig MySQL 8.0.13. Hvis det er gitt:

  • REPLACE angir kontoen din nåværende passord skal byttes ut, som en cleartext (kryptert) string.

  • klausulen må bli gitt hvis passordet endringer for den kontoen er nødvendig for å angi det gjeldende passordet, som bekreftelse på at brukeren prøver å gjøre endringen faktisk vet du det gjeldende passordet.,

  • klausulen er valgfri hvis passordet endringer for kontoen kan, men trenger ikke å oppgi det gjeldende passordet.

  • uttalelsen mislykkes hvis betingelsen er gitt, men ikke passer med det gjeldende passordet, selv om klausulen er valgfritt.

  • REPLACE kan bare angis når du endrer passordet for den aktuelle brukeren.

For mer informasjon om passord verifisering ved å angi det gjeldende passordet, kan du se Delen 6.2.15, «Passord».,

RETAIN CURRENT PASSWORD klausulen implementerer dual-passord kapasitet og er tilgjengelig MySQL 8.0.14. Hvis det er gitt:

  • RETAIN CURRENT PASSWORD beholder en konto nåværende passord som sitt sekundære passord, og erstatter alle eksisterende videregående passord. Det nye passordet blir det primære passord, men kundene kan bruke kontoen til å koble til serveren ved å bruke enten primær eller sekundær passord., (Unntak: Hvis det nye passordet som er angitt av SET PASSWORD uttalelse er tom, er den sekundære passord blir tomt som godt, selv om RETAIN CURRENT PASSWORD er gitt.)

  • Hvis du vil angi RETAIN CURRENT PASSWORD for en konto som har en tom primære passord, oppstilling mislykkes.

  • Hvis en konto har en sekundær passord og endre dens primære passord uten å angi RETAIN CURRENT PASSWORD, sekundær passordet forblir uendret.

For mer informasjon om bruk av dobbel passord, se Kapittel 6.2.,15, «Passord».

SET PASSWORD tillatelser disse auth_option syntaxes:

  • = 'auth_string'

    Tilegner konto gitt bokstavelig passord.

  • TO RANDOM

    Tilegner konto passord er tilfeldig generert av MySQL. Uttalelsen returnerer også cleartext passord i et resultatsett for å gjøre det tilgjengelig for brukeren eller programmet utfører uttalelse.,

    For mer informasjon om resultat og egenskaper av tilfeldig generert passord, se Tilfeldig Passord Generasjon.

    Tilfeldig passord generasjon er tilgjengelig MySQL 8.0.18.

Viktig

Under noen omstendigheter, SET PASSWORD kan bli tatt opp i tjenerloggene eller på klientsiden i en historie fil, for eksempel ~/.mysql_history, noe som betyr at cleartext passord kan leses av hvem som helst å ha lest tilgang til denne informasjonen., For informasjon om forholdene der dette skjer for server logger og hvordan du kan kontrollere det, se Avsnitt 6.1.2.3, «Passord og Logge». For tilsvarende informasjon om klient-side-logging, se Avsnitt 4.5.1.3, «mysql-Klienten Logging».,p> SET PASSWORD kan brukes med eller uten en FOR klausulen, som eksplisitt navn du en brukerkonto:

  • Med FOR user klausulen, oppstilling angir passordet for den angitte konto, som må være på plass:

    SET PASSWORD FOR 'jeffrey'@'localhost' = 'auth_string';
  • uten FOR user klausulen, oppstilling angir passordet for den aktuelle bruker:

    SET PASSWORD = 'auth_string';

    Enhver klient som kobler seg til serveren ved å bruke en nonanonymous-kontoen din, kan du endre passordet for kontoen., (I særdeleshet, kan du endre ditt eget passord.) For å se hvilken konto server godkjente deg som bruker CURRENT_USER() funksjoner:

    SELECT CURRENT_USER();

Hvis en FOR user klausulen er gitt, kontonavnet har formatet beskrevet i Avsnitt 6.2.4, «Angi Konto Navn». For eksempel:

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

vertsnavnet som er en del av navnet på kontoen, hvis utelatt, antas '%'.,

SET PASSWORD tolker strengen som en cleartext streng, går det til godkjenning plugin som er knyttet til kontoen, og lagrer resultatet som returneres av plugin i kontoen rad i mysql.user system-tabellen. (Plugin er gitt anledning til å hash-verdien til kryptering format det forventer. Programtillegget kan bruke den verdien som er angitt, og i så fall ingen nummerering oppstår.,)

Angi passord for en navngitt konto (med en FOR klausulen) krever UPDATE privilegium for mysql system-skjema. Angi passordet for deg selv (for en nonanonymous konto med ingen FOR klausulen) krever ingen spesielle privilegier.,

Uttalelser som kan endre videregående passord kreve disse rettighetene:

  • APPLICATION_PASSWORD_ADMIN rettighet som kreves for å bruke RETAIN CURRENT PASSWORD klausulen for SET PASSWORD uttalelser som gjelder for din egen konto. Den rettighet som kreves for å manipulere din egen sekundær passord fordi de fleste brukere trenger bare ett passord.,

  • Hvis en konto er å få lov til å manipulere videregående passord for alle kontoer, bør det være gitt CREATE USER privilegium, snarere enn APPLICATION_PASSWORD_ADMIN.

Ved read_only system-variabelen er aktivert, SET PASSWORD krever CONNECTION_ADMIN privilegium (eller ugyldig SUPER privilegium), i tillegg til eventuelle andre nødvendige tilgangsrettigheter.

For mer informasjon om å angi passord og godkjenning plugins, se Kapittel 6.2.,14, «Tilordne Konto Passord», og § 6.2.17, «Pluggbare Godkjenning».

Share

Legg igjen en kommentar

Din e-postadresse vil ikke bli publisert. Obligatoriske felt er merket med *