uetsya modul de utilizare a clientului MySQL pentru a defini noi utilizatori. Exemplele presupun că privilegiile sunt stabilite în conformitate cu valoarea implicită, așa cum este descris în secțiunea anterioară. Acest lucru înseamnă că, pentru a face modificări de pe același computer pe care se execută mysqld. trebuie să vă conectați la server ca utilizator root MySQL. iar utilizatorul rădăcină trebuie să aibă privilegiul INSERT pentru baza de date MySQL. precum și RELOAD privilegiu administrativ. În plus, în cazul în care s-a schimbat parola de root. este necesar să se sublinieze aici pentru comanda mysql.
Noii utilizatori pot fi adăugate folosind comanda GRANT.
Aceste declarații GRANT înființat trei noi utilizatori:
monty superuserul completă - se poate conecta la serverul de oriunde, dar care trebuie să utilizeze un some_pass parolă. Rețineți că trebuie să emită declarații Grantul pentru ambele @ localhost monty. și pentru monty @ "%". Dacă nu adăugați intrarea cu localhost. intrarea utilizator anonim pentru localhost. care este creat de mysql_install_db. Acesta va avea un avantaj în legătură cu computerul local, deoarece conține mai mult decât o anumită valoare pentru gazdă. și este mai devreme în tabelul de utilizator. admin Un utilizator care se poate conecta la localhost fără o parolă; el a atribuit privilegii administrative REÎNCĂRCAȚI și de proces. Aceste privilegii permit utilizatorului să ruleze reload comanda mysqladmin. mysqladmin refres h și încastrare mysqladmin *. precum și processlist mysqladmin. El nu a fost atribuit nici privilegii legate de baze de date (acestea pot fi atribuite ulterior prin emiterea de declarații GRANT suplimentare). dummy Un utilizator care se poate conecta fără o parolă, dar numai de la computerul local. Privilegiile globale sunt toate setate la „N“ tip privilegii de utilizare. care vă permite să creați un utilizator fără privilegii. Se presupune că datele referitoare la bazele de privilegii vor fi alocate mai târziu.
Puteți adăuga direct același utilizator exact cu declarația INSERT. si apoi da serverul o comandă pentru a reporni tabelele de grant:
În funcție de versiunea MySQL în exemplul de mai sus, o cantitate poate lua valori „Y“ (în versiunile anterioare versiunii 3.22.11 coloane au avut mai puține privilegii). Pentru utilizator admin sintaxa mai ușor de citit INSERT extins. care este disponibil de la versiunea 3.22.11.
Notă: pentru a crea un superuser, trebuie să creați o intrare de tabel de utilizator cu câmpurile privilegiu setat la valoarea „Y“. Nu este necesar să se stabilească valori în înregistrările db sau tabele gazdă.
privilegii coloană din tabelul de utilizator în ultima declarație INSERT (pentru utilizator inactiv) nu au fost stabilite în mod explicit, astfel încât această coloană a fost atribuită valoarea implicită a „N“. În mod similar, acționează comanda GRANT DE UTILIZARE.
Următorul exemplu se adaugă prin obicei. care se poate conecta la calculator localhost. server.domain și whitehouse.gov. El vrea să obțină acces la baza de date BankAccount numai de la calculator localhost. cheltuieli la datele de bază - numai la whitehouse.gov. și la baza de date a clientului - de la toate cele trei calculatoare, și de a folosi parola prost atunci când conectarea cu toate cele trei calculatoare.
Pentru a seta privilegiile utilizatorului cu GRANT. executați următoarele comenzi:
Privilegii pentru utilizator, atribuim personalizate, deoarece utilizatorul dorește să acceseze MySQL ca un computer local, prin intermediul prize Unix, sau de la un computer la distanță prin intermediul protocolului whitehouse.gov TCP / IP.
Pentru a seta privilegii de utilizator prin modificări directe tabelele de grant, executați următoarele comenzi (notă Privilegiile flush comanda la sfârșitul exemplu):
Primele trei declarații INSERT adăuga intrări de tabel de utilizator care permit utilizatorului personalizat pentru a se conecta la diferite calculatoare cu parola specificată, dar nu-i dau nici privilegii (toate privilegiile sunt „N“ implicit). Următoarele trei declarații INSERT adăuga înregistrări la db tabel. privilegiile care sunt atribuite utilizatorului în raport cu baza de date personalizate BankAccount. cheltuielile și pentru clienți, dar numai atunci când este accesat de pe anumite calculatoare. Ca de obicei, după efectuarea modificărilor direct în tabelele de grant trebuie să instruiască server pentru a reîncărca aceste tabele (folosind PRIVILEGII Flush), pentru ca modificările să aibă efect.
Dacă doriți să dea un anumit utilizator de acces de pe orice calculator la un anumit domeniu, puteți utiliza instrucțiunea GRANT, după cum urmează:
Pentru a face același lucru prin schimbări directe la tabelele de grant, urmați acești pași:
MySQL.RU. Aprobat de cei mai buni programatori din Romania