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., '
og auth_string
''
hver representerer en cleartext (ukryptert passord.current_auth_string
'
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';
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 '
– punkt utfører passord bekreftelse og er tilgjengelig MySQL 8.0.13. Hvis det er gitt:current_auth_string
'
-
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 avSET PASSWORD
uttalelse er tom, er den sekundære passord blir tomt som godt, selv omRETAIN 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.
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
klausulen, oppstilling angir passordet for den angitte konto, som må være på plass:user
SET PASSWORD FOR 'jeffrey'@'localhost' = 'auth_string';
-
uten
FOR
klausulen, oppstilling angir passordet for den aktuelle bruker:user
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
klausulen er gitt, kontonavnet har formatet beskrevet i Avsnitt 6.2.4, «Angi Konto Navn». For eksempel: user
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 å brukeRETAIN CURRENT PASSWORD
klausulen forSET 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 ennAPPLICATION_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».