MySQL :: MySQL 8.0 Manual de Referință :: 13.7.1.10 SETA PAROLA Declarație

13.7.1.10 SETA PAROLA Declarație

SET PASSWORD declarație atribuie o parola de la un MySQL cont de utilizator. Parola poate fi specificată Explicit în declarație sau generată aleatoriu de MySQL. Declarația poate include, de asemenea, o clauză de verificare a parolei care specifică parola curentă a contului care trebuie înlocuită și o clauză care gestionează dacă un cont are o parolă secundară., 'auth_string' și 'current_auth_string' reprezintă fiecare un text clar (necriptat) parola.

Nota

mai Degrabă decât folosind SET PASSWORD să atribuiți parole, ALTER USER este de preferat declarație pentru contul de modificări, inclusiv atribuirea parolelor., De exemplu:

ALTER USER user IDENTIFIED BY 'auth_string';

Nota

Clauze aleatoriu de generare a parolei, parola de verificare, și secundar parolele se aplică numai pentru conturile care folosesc un plugin de autentificare care stochează acreditările pe plan intern pentru MySQL. Pentru conturile care utilizează un plugin care efectuează autentificarea împotriva unui sistem de acreditări extern MySQL, gestionarea parolelor trebuie să fie gestionată extern și împotriva acelui sistem. Pentru mai multe informații despre stocarea acreditărilor interne, consultați secțiunea 6.2.15, „gestionarea parolelor”.,

REPLACE 'current_auth_string' clauza efectuează verificarea parolei și este disponibilă începând cu MySQL 8.0.13. În cazul dat:

  • REPLACE specifică cont parola curentă să fie înlocuit, ca un text clar (necriptat) șir.

  • clauza trebuie să fie dat în cazul în care modificările parola pentru contul sunt necesare pentru a specifica parola curentă, ca verificare că utilizatorul încearcă să facă modificarea cunoaște de fapt parola curentă.,

  • clauza este opțională dacă modificările parolei pentru cont pot, dar nu trebuie să specifice parola curentă.

  • instrucțiunea eșuează dacă clauza este dată, dar nu se potrivește cu parola curentă, chiar dacă clauza este opțională.

  • REPLACE poate fi specificat numai atunci când schimbați parola contului pentru utilizatorul curent.

Pentru mai multe informații despre verificarea parolei prin specificarea parolei curente, consultați secțiunea 6.2.15, „gestionarea parolelor”.,

clauza RETAIN CURRENT PASSWORD implementează capabilitatea cu parolă dublă și este disponibilă începând cu MySQL 8.0.14. În cazul dat:

  • RETAIN CURRENT PASSWORD păstrează un cont curent parola ca sa secundar parola, înlocuind orice secundare existente parola. Noua parolă devine parola principală, dar clienții pot utiliza contul pentru a se conecta la server folosind parola primară sau secundară., (Excepție: Dacă noua parola specificată prin SET PASSWORD declarație este gol, parola secundar devine gol la fel de bine, chiar dacă RETAIN CURRENT PASSWORD este dat.)

  • Dacă specificați RETAIN CURRENT PASSWORD pentru un cont care are un gol primar parola, declarația eșuează. dacă un cont are o parolă secundară și îi schimbați parola principală fără a specificaRETAIN CURRENT PASSWORD, parola secundară rămâne neschimbată.

Pentru mai multe informații despre utilizarea parolelor duble, consultați secțiunea 6.2.,15, „Gestionarea Parolei”.

SET PASSWORD permite aceste auth_option sintaxe:

  • = 'auth_string'

    Atribuie contul dat literal parola.

  • TO RANDOM

    atribuie contului o parolă generată aleatoriu de MySQL. Declarația returnează, de asemenea, parola cleartext într-un set de rezultate pentru a o pune la dispoziția utilizatorului sau a aplicației care execută declarația.,

    Pentru detalii despre setul de rezultate și caracteristicile parolelor generate aleator, consultați generare aleatorie de parole.

    generarea parolelor aleatorii este disponibilă începând cu MySQL 8.0.18.

Important

În anumite circumstanțe, SET PASSWORD pot fi înregistrate în jurnalele de pe server sau pe partea de client într-un fișier de istorie, cum ar fi ~/.mysql_history, ceea ce înseamnă că, text clar parolele pot fi citite de oricine are acces de citire la aceste informații., Pentru informații despre condițiile în care se întâmplă acest lucru pentru jurnalele serverului și modul de control al acestuia, consultați secțiunea 6.1.2.3, „parole și logare”. Pentru informații similare despre logarea din partea clientului, consultați secțiunea 4.5.1.3, „logarea clientului mysql”.,p> SET PASSWORD poate fi folosit cu sau fără un FOR clauză care în mod explicit numele unui cont de utilizator:

  • Cu un FOR user clauză, declarația stabilește parola pentru numele de cont, care trebuie să existe:

    SET PASSWORD FOR 'jeffrey'@'localhost' = 'auth_string';
  • Cu nici un FOR user clauză, declarația stabilește parola pentru utilizatorul curent:

    SET PASSWORD = 'auth_string';

    Orice client care se conectează la server folosind o nonanonymous cont poate schimba parola pentru acel cont., (În special, puteți schimba propria parolă.) Pentru a vedea ce cont server autentificat ca, invoca CURRENT_USER() funcția:

    SELECT CURRENT_USER();

Dacă un FOR user clauză este dat, numele contului utilizează formatul descris în Secțiunea 6.2.4″, Specificând Numele de Cont”. De exemplu:

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

numele De gazdă parte din numele de cont, dacă este omis, implicit '%'.,

SET PASSWORD interpretează ca un șir text clar șir, trece-l la autentificare plugin asociate cu contul, și stochează rezultatul returnat de către plugin-ul în contul rând în mysql.user sistem de masă. (Plugin-ul este dat posibilitatea de a hash valoarea în formatul de criptare se așteaptă. Pluginul poate utiliza valoarea specificată, caz în care nu are loc nicio hashing.,)

Setarea parolei pentru un nume de cont (cu un FOR clauza) necesită UPDATE privilegiu pentru mysql sistem schema. Setarea parolei pentru dvs. (pentru un cont nonanonim fără clauza FOR) nu necesită privilegii speciale.,

Declarații care modifica secundar parole nevoie de aceste privilegii:

  • APPLICATION_PASSWORD_ADMIN privilegiu este necesar pentru a utiliza RETAIN CURRENT PASSWORD clauza pentru SET PASSWORD declarații care se aplică la propriul cont. Privilegiul este necesar pentru a manipula propria parolă secundară, deoarece majoritatea utilizatorilor necesită o singură parolă.,

  • Dacă un cont este să li se permită să manipuleze secundar parole pentru toate conturile, ar trebui să fie acordat CREATE USER privilegiu, mai degrabă decât APPLICATION_PASSWORD_ADMIN.

read_only variabila de sistem este activată, SET PASSWORD necesită CONNECTION_ADMIN privilegiul (sau depreciate SUPER privilegiu), în plus față de orice alte privilegiile necesare.

pentru informații suplimentare despre setarea parolelor și a plugin-urilor de autentificare, consultați secțiunea 6.2.,14, „atribuirea parolelor contului” și secțiunea 6.2.17, „autentificare conectabilă”.

Share

Lasă un răspuns

Adresa ta de email nu va fi publicată. Câmpurile obligatorii sunt marcate cu *