Syntaks
SET PASSWORD = { PASSWORD('some password') | OLD_PASSWORD('some password') | 'encrypted password' }
Beskrivelse
SET PASSWORD
erklæring tildeler en adgangskode til et eksisterende MariaDB useraccount.
hvis adgangskoden er angivet ved hjælp af funktionen PASSWORD()
eller OLD_PASSWORD()
, skal den bogstavelige tekst til adgangskoden angives. Hvis passassord er angivet uden at bruge nogen af funktionerne, skal adgangskoden være den allerede krypterede adgangskodeværdi som returneret afPASSWORD()
.,
OLD_PASSWORD()
bør kun bruges, hvis din MariaDB/MySQL kunder er meget gamle (< 4.0.0).
Med no FOR
klausul angiver denne erklæring adgangskoden for den aktuelle bruger. Enhver klient, der har oprettet forbindelse til serveren ved hjælp af en ikke-anonymkonto, kan ændre adgangskoden til den pågældende konto.
med en FOR
klausul sætter denne erklæring adgangskoden til en specifikkonto på den aktuelle serverhost., Kun klienter, der har UPDATE
privilegiet for mysql
databasen kan gøre dette. Brugeren skal værdien væregivet fra i user_name@host_name
– format, hvor user_name
og host_name
areexactly, som de er angivet i Bruger-og Host kolonner afmysql.user
tabel indlæg.
argumentet tilPASSWORD()
og adgangskoden til MariaDB-klienter kan være af vilkårlig længde.
Authentication Plugin Support
MariaDB starter med 10.,4
I MariaDB 10.4 og nyere, SET PASSWORD
(med eller uden PASSWORD()
) arbejder for konti, der er godkendt via en godkendelse plugin, der understøtter adgangskoder, der er gemt i mysql.global_priv
tabel.
ed25519
mysql_native_password
og mysql_old_password
godkendelse plugins, gemme adgangskoder i mysql.global_priv
tabel.,
Hvis du kører SET PASSWORD
på en konto, der anvender godkendelse med en godkendelse af disse plugins, der gemmer passwords i mysql.global_priv
tabelposition>>, så PASSWORD()
funktion er evalueret af den specifikke godkendelse plugin, der anvendes af kontoen. Authentication plugin hashes adgangskoden med en metode, der er kompatibel med det specifikke authentication plugin.,
unix_socket
named_pipe
gssapi
og pam
godkendelse plugins må ikke gemme adgangskoder i mysql.global_priv
tabel. Disse godkendelsesplugins er afhængige af andre metoder til at godkende brugeren.,
Hvis du forsøger at køre SET PASSWORD
på en konto, der anvender godkendelse med en godkendelse af disse plugins, som ikke gemme en adgangskode i feltet mysql.global_priv
tabel, så MariaDB Server vil rejse en advarsel som følgende:
SET PASSWORD is ignored for users authenticating via unix_socket plugin
Se Godkendelse fra MariaDB 10.4 for en oversigt over godkendelse af ændringer i MariaDB 10.4.
MariaDB, indtil 10.3
I MariaDB 10.,3, og før SET PASSWORD
(med eller uden PASSWORD()
) virker kun for konti, der er godkendt via mysql_native_password
eller mysql_old_password
godkendelse plugins
Passwordless Bruger Konti
brugerkonti, der ikke altid kræver adgangskoder til at logge ind.
unix_socket
named_pipe
og gssapi
godkendelse plugins ikke kræver en adgangskode for at autentificere brugeren.,
pam
autentificering plugin kan eller ikke kan kræve en adgangskode for at godkende brugeren, afhængigt af den specifikke konfiguration.
mysql_native_password
ogmysql_old_password
authentication plugins kræver adgangskoder til godkendelse, men adgangskoden kan være tom. I så fald kræves der ingen adgangskode.
Hvis du angiver en adgangskode, mens du forsøger at logge ind på serveren som en konto, der ikke kræver en adgangskode, vil MariaDB server simpelthen ignorere adgangskoden.
MariaDB starter med 10.,4
i MariaDB 10.4 og senere kan en brugerkonto defineres til at bruge flere godkendelsesplugins i en bestemt rækkefølge. Dette specifikke scenario kan være mere mærkbart i disse versioner, da en konto kan være forbundet med nogle godkendelsesplugins, der kræver en adgangskode, og nogle, der ikke gør det.
Eksempel
For eksempel, hvis du havde et indlæg med Brugeren andHost kolonne værdier af ‘bob
‘ og ‘%.loc.,gov", skal du skrive thestatement som dette:
SET PASSWORD FOR 'bob'@'%.loc.gov' = PASSWORD('newpass');
Hvis du ønsker at slette en adgangskode for en bruger, du vil gøre:
SET PASSWORD FOR 'bob'@localhost = PASSWORD("");
Se Også
- Password Validering Plugins - tillader indstilling af grundlæggende kriterier for adgangskoder
ALTER USER
Skriv et svar