Cum se configurează smartphone-uri și PC-uri. Portal informativ
  • Acasă
  • Windows 7, XP
  • Crearea unui nou utilizator în MySQL și acordarea permisiunii pentru baza de date MySQL.

Crearea unui nou utilizator în MySQL și acordarea permisiunii pentru baza de date MySQL.

Când se conectează la serverul MySQL, utilizatorul specifică un nume de utilizator și o parolă, iar serverul verifică dacă clientul este autorizat să acceseze serverul și, dacă are succes, acordă utilizatorului privilegiile corespunzătoare. Datele privind privilegiile utilizatorului sunt stocate în baza de date a sistemului mysql.

Verificarea utilizatorului se realizează prin trei câmpuri din tabelul de utilizatori (gazdă, utilizator și parolă) din baza de date mysql. Serverul stabilește o conexiune numai dacă găsește o intrare în tabelul de utilizatori care se potrivește cu numele de utilizator și parola introduse.

Puteți vedea cum sunt stocate parolele în tabelul de utilizatori folosind următoarele comenzi:

mysql>UTILIZAȚI mysql

mysql>SELECTARE parola FROM utilizator;

Vă puteți familiariza cu toate tabelele bazei de date mysql lansând comanda

mysql>arata tabele;

După stabilirea conexiunii, serverul începe o sesiune cu utilizatorul. Pentru fiecare cerere primită, serverul verifică dacă utilizatorul are suficiente privilegii pentru a finaliza cererea. Informațiile despre privilegii se află în tabelele -- user, db, host, tables_priv sau columns_priv.

Lista de privilegii este prezentată mai jos:

Serverul MySQL citește conținutul acestor tabele la momentul pornirii și când intră în vigoare modificările de privilegii.

Privilegiile SELECT, INSERT, UPDATE și DELETE vă permit să efectuați operații pe rândurile tabelelor bazei de date. Privilegiul de index permite crearea sau distrugerea de indici. Privilegiul alter permite utilizarea comenzii alter table. Privilegiile de creare și eliminare vă permit să creați baze de date și tabele noi sau să renunțați la existente. privilegiul GRANT gram vă permite să acordați altor utilizatori privilegiile pe care le aveți.

Privilegiile rămase sunt folosite pentru a administra serverul SQL. Comanda shutdown oprește serverul.

Când serverul MySQL pornește, toate informațiile despre privilegiile utilizatorului sunt încărcate în memorie și, din acel moment, privilegiile intră în vigoare.

Comenzile de acordare și revocare permit administratorilor de sistem să creeze utilizatori MySQL și să acorde sau să revoce drepturi utilizatorilor la patru niveluri.

· Nivel global.

Privilegiile globale se aplică tuturor bazelor de date de pe serverul specificat. Aceste privilegii sunt stocate în tabelul mysql.user.

· Nivelul bazei de date.

Privilegiile bazei de date se aplică tuturor tabelelor din baza de date specificată. Aceste privilegii sunt stocate în tabelele mysql .db și mysql .host.

· Nivel de masă.

Privilegiile de tabel se aplică tuturor coloanelor din tabelul specificat.

Aceste privilegii sunt stocate în tabelul mysql. tables_priv.

· Nivelul coloanei.

Privilegiile de coloană se aplică coloanelor individuale ale tabelului specificat. Aceste privilegii sunt stocate în tabelul mysql .columns_priv.

Comanda grant vă permite să adăugați noi utilizatori de server:

mysql> GRANT SELECT, INSERT ON taxi.* TO [email protected]

IDENTIFICAT PRIN „secret”;

Această comandă acordă drepturi de inserare și selectare la baza de date taxi (la toate tabelele - acest lucru este specificat de simbolul asterisc) utilizatorului Mike, care se conectează local (localhost), iar atunci când se conectează la server, utilizatorul trebuie să specifice parola " secret". Parola este stocată pe server în formă criptată.

mysql> ACORDĂ TOATE PRIVILEGIILE PE *.* CĂTRE [email protected]"%"

->IDENTIFICAT DE „some_pass” CU OPȚIUNEA GRANT;

Aici Anna primește toate drepturile (toate privilegiile) pentru toate tabelele din toate bazele de date server (* . *) și se poate conecta atât local, cât și de la distanță prin intermediul rețelei (acest lucru este indicat de simbolul % după [email protected]). În plus, Anna își poate transfera drepturile altor utilizatori (cu opțiunea de acordare), adică poate emite ea însăși comanda de acordare și poate crea noi utilizatori de sistem.

mysql> Acordați UTILIZARE PE *.* PENTRU [email protected]

IDENTIFICAT DE `parolă”;

Utilizatorul fals creat în acest exemplu se poate conecta la server, dar numai de pe mașina locală. Privilegiul UTILIZARE înseamnă că utilizatorul nu are toate celelalte privilegii. Acest lucru poate fi necesar atunci când o persoană este angajată, dar sarcinile sale nu au fost încă determinate. Se așteaptă ca privilegiile legate de baza de date să fie atribuite mai târziu. Nu se poate crea un utilizator cu o parolă goală -- sistemul nu permite acest lucru din motive de securitate.

Comanda REVOKE permite unui administrator să revoce drepturile utilizatorului:

REVOKE SELECT (use_on) ON taxi.timetable FROM Mike @ localhost;

Utilizatorul Mike nu poate vedea valoarea câmpului use_on din orar.

Comanda set poate seta diverse opțiuni care afectează funcționarea serverului sau a clientului. Parola pentru utilizatorul root poate fi setată și cu această comandă:

mysql> SETARE PAROLA PENTRU [email protected]=PAROLA("parolă_nouă");

De asemenea, utilizatorii pot lucra direct cu tabelele de atribuire a privilegiilor:

mysql> USE mysql;

Mysql> UPDATE user SET Password=PASSWORD("noua_parola")

-> WHERE user="root";

După aceea, ar trebui să lansați o comandă care forțează serverul să recitească tabelele de privilegii - atunci acestea vor intra în vigoare:

mysql> PRIVILEGII FLUSH;

Dacă parola este setată folosind declarația grant. . .identificat prin, nu este nevoie să utilizați funcția password(). Această comandă criptează în mod independent parola, astfel încât parola ar trebui să fie specificată în text simplu, de exemplu, astfel:

mysql> Acordați UTILIZARE PE *.* PENTRU [email protected]„%” IDENTIFICAT DE „biscuit”;

Modificările aduse tabelelor de atribuire a privilegiilor folosind comenzile de acordare, revocare sau setare a parolei sunt luate în considerare de server de îndată ce aceste instrucțiuni sunt executate.

Dacă sunteți interesat de dezvoltarea web sau dezvoltarea de software în general, probabil că ați auzit de baze de date. Bazele de date sunt stocări virtuale pentru datele necesare pentru a construi aplicații web. Acestea sunt folosite pentru a stoca informații despre utilizator, cum ar fi: nume de utilizator, parolă, adresă de e-mail și altele. În general, orice fel de informații de care ați putea avea nevoie mai târziu pot fi stocate în baza de date.

Desigur, datele pe care le stocați trebuie să fie organizate. Aici intervin sistemele de gestionare a bazelor de date. Aceste sisteme sunt folosite pentru a lucra cu baza de date și permit dezvoltatorilor să structureze, să stocheze, să interogheze și să modifice datele.

MySQL este un astfel de sistem de gestionare a bazelor de date. Este unul dintre cele mai cunoscute sisteme datorită ușurinței sale de utilizare și a sprijinului comunitar. Apropo, prevalența sa a atras chiar și companii atât de mari precum Facebook și Twitter, care îl folosesc într-o oarecare măsură.

În acest tutorial, vom revizui elementele de bază ale MySQL și vom învăța cum să creați un utilizator MySQL. Vom învăța, de asemenea, cum să acordăm privilegii de acces utilizatorilor MySQL. În acest ghid, vom face toate acestea din linia de comandă.

Înainte de a începe, veți avea nevoie de următoarele:

  • MySQL instalat pe computer. Ghid de utilizare despre cum se instalează pe .

Pasul 1 - Creați un utilizator MySQL și acordați permisiuni nelimitate

Odată ce începeți să utilizați MySQL, vi se va furniza un nume de utilizator și o parolă. Aceste acreditări inițiale vă oferă privilegii de „acces rădăcină”. Un utilizator cu drepturi de acces root are acces deplin la toate bazele de date și tabelele din acele baze de date.

Dar, de multe ori, trebuie să acordați acces la baza de date altcuiva fără a oferi control deplin. De exemplu, companiile care angajează dezvoltatori pentru a întreține baze de date, dar nu doresc să le ofere posibilitatea de a șterge sau de a modifica orice informații sensibile, este probabil să le acorde permisiuni de utilizator non-root. În acest caz, compania poate controla ce pot și nu pot face dezvoltatorii săi cu datele.

Crearea unui utilizator MySQL este foarte ușoară. Vă vom arăta cum să creați un utilizator MySQL și cum să îi atribuiți permisiuni pentru bazele de date. Dacă utilizatorul nu este root, atunci a-i acorda permisiuni complete nu este practic și este un motiv bun pentru a afla cum puteți atribui permisiuni utilizatorilor. Urmați acești pași pentru a crea un utilizator nou:

  1. Rulați linia de comandă și de pe ea serverul MySQL: mysql
  2. Rulați următoarea comandă: CREATE USER "non-root"@"localhost" IDENTIFICAT BY "123";

    În această comandă, „non-root” este numele pe care îl atribuim noului nostru utilizator. Și „123” este parola lui. Puteți înlocui cu propriile valori între ghilimele.

  3. Doar crearea unui utilizator nou nu este suficientă. Trebuie să îi atribui permisiuni. Pentru a acorda unui utilizator nou creat acces nelimitat la baza de date, executați următoarea comandă: Acordați toate privilegiile la * . * TO "non-root"@"localhost";
  4. Pentru ca modificările să aibă efect, rulați comanda de actualizare: FLUSH PRIVILEGES;

Asta este tot! Noul dvs. utilizator are aceleași permisiuni pentru baza de date ca utilizatorul root.

Pasul 2 - Atribuiți permisiuni speciale utilizatorului MySQL

După cum am menționat mai sus, nu este foarte înțelept să acordați nivel de acces root unui utilizator non-root. De cele mai multe ori, va trebui să acordați diferite niveluri de acces diferiților utilizatori. MySQL vă permite să faceți acest lucru rapid și ușor, rulând următoarea comandă:

GRANT [tipul drept] ON [numele bazei de date].[numele tabelului] LA ‘non-root’@”localhost’;

Trebuie doar să înlocuiți valoarea „tip de permisiune” cu tipul de permisiune pe care doriți să o acordați noului utilizator. De asemenea, trebuie să specificați numele bazei de date și tabelelor la care este acordat accesul. Similar cu exemplul anterior, „non-root” este numele de utilizator, așa că îl puteți schimba în orice doriți. MySQL are mai multe tipuri de permisiuni, dintre care unele sunt descrise mai jos:

  • CREA– Permite utilizatorilor să creeze baze de date/tabele
  • SELECTAȚI– Permite utilizatorilor să mostreze date
  • INTRODUCE– Permite utilizatorilor să adauge noi înregistrări la tabele
  • ACTUALIZAȚI– Permite utilizatorilor să modifice înregistrările existente în tabele
  • ȘTERGE– Permite utilizatorilor să șteargă înregistrări din tabele
  • CĂDERE BRUSCA– Permite utilizatorilor să șteargă înregistrări din baza de date/tabele

Pentru a utiliza oricare dintre aceste opțiuni, pur și simplu înlocuiți [tipul potrivit] cuvânt necesar. Pentru a atribui mai multe tipuri de permisiuni, separați-le cu virgule, ca în următoarea comandă. De exemplu, putem atribui privilegii precum CREAȘi SELECTAȚI pentru utilizatorul nostru MySQL non-root cu această comandă:

GRANT CREATE, SELECT ON * . * TO "non-root"@"localhost";

Desigur, este posibil să întâmpinați o situație în care trebuie să luați date din drepturile de acces anterior ale utilizatorului. Puteți face acest lucru rulând următoarea comandă:

REVOKE [tipul de privilegii] ON [numele bazei de date].[numele tabelului] FROM 'non-root'@'localhost';

De exemplu, pentru a revoca toate privilegiile unui utilizator non-root, ați face:

REVOCA TOATE PRIVILEGIILE PE *.* DE LA "non-root"@"localhost";

În cele din urmă, puteți elimina un utilizator existent folosind comanda:

DROP USER 'non-root'@'localhost';

Amintiți-vă că trebuie să aveți acces root pentru a rula oricare dintre aceste comenzi. De asemenea, asigurați-vă că urmați PRIVILEGII FLUSH după orice modificare a permisiunilor.

Concluzie

În acest tutorial, am învățat câteva elemente de bază despre permisiunile MySQL și cum să creați un utilizator MySQL. În special:

  • Crearea unui nou utilizator și atribuirea tuturor drepturilor de acces acestuia
  • Atribuirea unor drepturi speciale de acces utilizatorilor, precum și revocarea acestora și ștergerea utilizatorilor

Atribuirea permisiunilor poate părea dificilă atunci când dezvoltați o nouă aplicație web, dar este un pas foarte important în gestionarea și întreținerea unei baze de date. Aproape toate aplicațiile moderne se bazează pe baze de date, așa că este foarte important ca dezvoltatorul să știe cum să atribuie/revoca drepturi de acces la bazele de date în MySQL.

În sfârșit, am pus mâna pe baze de date, astăzi vom continua să ne ocupăm de serverul MySQL. După cum probabil ați ghicit, vom vorbi despre utilizatorii MySQL și despre crearea unui cont de utilizator de server MySQL. Permiteți-mi să vă reamintesc că primul utilizator este creat în timpul instalării automate a serverului MySQL. Introduceți parola pentru contul MySQL al unui utilizator numit root. Dar uneori există situații în care drepturile utilizatorului root sunt prea mari, de exemplu: unii utilizatori ar trebui să aibă doar drepturi de vizualizare a datelor, dar nu și de editare.

Drepturile, utilizatorii MySQL pot avea unele foarte diferite și vom vorbi despre drepturile de acces la bazele de date MySQL într-o publicație separată. Sarcina noastră este să ne dăm seama cum să ne conectăm la un server care are un anumit port TCP. De fapt, crearea unui nou utilizator MySQL nu este atât de dificilă, dar există câteva subtilități de care ar trebui să fii conștient, pentru a nu avea probleme la administrarea bazelor de date MySQL.

Cum se accesează serverul MySQL

Când ați creat primul utilizator MySQL, numele lui este root, ați venit singur cu parola pentru acest cont. Utilizatorul root este cel mai important utilizator de server MySQL, administratorul principal cu drepturi de acces nelimitate, acest utilizator își poate crea conturi noi pentru a accesa bazele de date MySQL, cu alte cuvinte: administratorul principal poate crea un utilizator MySQL cu drepturi mai puține decât el însuși.

Inainte de, cum se creează un utilizator MySQL, nu uita . Pentru a accesa serverul MySQL, trebuie să stabiliți o conexiune, pentru aceasta trebuie să introduceți un login și o parolă. Dacă serverul bazei de date este la distanță, atunci va trebui să introduceți și numele gazdei pe care este instalat, dacă nu specificați numele gazdei, atunci conexiunea se va stabili cu serverul local.

Puteți stabili o conexiune la serverul local folosind următoarea comandă din linia de comandă a sistemului de operare:

mysql -h localhost -p -u root

mysql -h localhost -p -u root

Confirmăm comanda apăsând tasta Enter, după care MySQL vă va solicita să introduceți parola pentru acest utilizator, introduceți și apăsați Enter. Vă rugăm să rețineți: dacă rulați sistemul de operare Windows 7, atunci linia de comandă trebuie să fie rulată ca administrator. Uneori este posibil ca serverul MySQL să nu fie găsit, despre rezolvarea acestei probleme vom vorbi într-un alt articol.

Să aruncăm o privire la această echipă. Această comandă lansează consola serverului MySQL, un shell care vă permite să lucrați cu baze de date, operațiunile care pot fi efectuate cu date pot fi foarte diferite, totul depinde de drepturile de acces ale utilizatorului MySQL, în acest caz puteți efectua orice operațiuni cu toate bazele de date, deoarece sunteți autentificat ca utilizator root MySQL. Notă pentru utilizatorii începători ai sistemelor de operare asemănătoare UNIX: root utilizator MySQL serverul și utilizatorul root al sistemului de operare sunt doi utilizatori diferiți. Numele de utilizator al serverului MySQL este scris după construcția „-u”.

Parola utilizatorului serverului MySQL este scrisă după constructul „-p”. Nu îl puteți introduce imediat, atunci va trebui să îl introduceți după ce apăsați Enter. După constructul „-h” se scrie numele gazdei unde se află serverul MySQL, în acest caz indicăm în mod explicit că conexiunea trebuie stabilită cu serverul de baze de date local, acest lucru s-ar putea să nu se facă.

După ce această comandă este executată, vi se va solicita să introduceți parola de utilizator MySQL. Dacă utilizatorul MySQL nu are o parolă, atunci după executarea comenzii, apăsați tasta Return. Sper că ne-am dat seama cum să obținem acces la serverul MySQL și nu vor fi întrebări aici.

Cum să vizualizați informații despre bazele de date existente ale serverului MySQL

Vă rugăm să rețineți: comanda de utilizare nu este o interogare SQL, deci nu puteți pune punct și virgulă la sfârșitul acestei comenzi, dar o puteți pune, rezultatul va fi același: veți începe să lucrați cu baza de date a serverului MySQL specificată. Database_name este numele bazei de date cu care va lucra utilizatorul MySQL, poate fi oricare din lista dată de comanda show databases. Cred că acesta este tot ce trebuie să știți pentru a face față în continuare acestui fapt cum se creează un utilizator MySQL.

Cum se creează un utilizator MySQL. echipa GRANT.

Deci, să trecem la întrebarea: cum să creați un utilizator MySQL. Un nou cont de utilizator MySQL este creat cu comanda GRANT. Comanda GRANT creează nu numai utilizatorii MySQL server, dar și a atribuit drepturi de acces și privilegii utilizatorilor MySQL. Toți utilizatorii MySQL sunt împărțiți în două categorii, una dintre ele este mică, cealaltă este mare:

  1. Root utilizator MySQL. Capabil să facă totul, acesta este administratorul principal al serverului MySQL, adesea drepturile root sunt inutile, cu aceste drepturi vă puteți răni.
  2. Utilizatorii MySQL creați de root. Acești utilizatori de server MySQL au drepturi diferite, drepturile sunt atribuite de utilizatorul root folosind instrucțiunea SQL GRANT.

Deci, să vedem cum să creați un utilizator MySQL, dacă nu ați uitat deja: utilizatorii MySQL sunt creați cu o instrucțiune GRANT:

GRANT tip_priv [(listă_coloană)] [, tip_priv [(listă_coloană)] ...] ON (nume_tbl | * | *.* | nume_db.*) TO user_name [, user_name ...]

GRANT tip_priv [ (listă_coloană ) ] [ , tip_priv [ (listă_coloană ) ] . . . ]

ON (nume_tbl | * | * . * | nume_db . * )

TO user_name [ IDENTIFICAT DE „parolă”]

[ , nume_utilizator [ IDENTIFICAT DE „parolă” ] . . . ]

[CU OPȚIUNEA DE GRANT]

Exemplul arată sintaxa generală a comenzii GRANT, este destul de simplă, dar puteți crea utilizatori MySQL cu privilegii diferite. Să vedem ce utilizatorii MySQL poate fi creat folosind această comandă pe un exemplu specific.

Vom crea un nou utilizator MySQL. Am mydb pe serverul meu, vă puteți crea propria bază de date cu numele dorit. Rețineți că, chiar dacă utilizatorul MySQL există deja, va trebui să i se acorde anumite privilegii cu comanda GRANT. Deci, haideți să creăm un utilizator nou care poate efectua orice acțiune cu baza de date mydb a serverului MySQL. Voi oferi input. Nume utilizator MySQL: „newusermysql”, parola utilizator MySQL: „userpassword”. Gazdă unde este instalat serverul: localhost. Acțiuni pe care noul utilizator le va putea efectua: orice acțiuni cu baza de date mydb. GRANT solicitarea de a crea un utilizator MySQL cu permisiunile specificate:

LA "newusermysql" @ "localhost" IDENTIFICAT DE "userpassword";

Punctul și virgulă de la sfârșitul comenzii este necesar deoarece GRANT este o instrucțiune SQL. Să defalcăm comanda pentru a crea un utilizator MySQL în părți. IDENTIFICAT DE „userpassword”: Setați parola pentru utilizatorul MySQL să fie „userpassword”. "newusermysql"@"localhost": Specificați gazda la care se va conecta utilizatorul numit "newusermysql". Instrucțiunea GRANT poate fi folosită numai de utilizatorul root MySQL. Declarația ALL ON acordă autoritate deplină utilizatorului newusermysql în baza de date mydb.

Notă: este gestionat de un server MySQL, astfel încât utilizatorii WordPress pot fi creați manual completând câmpurile corespunzătoare și acordându-le privilegii, pe de altă parte, WordPress este un CMS care ușurează viața webmasterului și oferă o interfață grafică pentru crearea de utilizatori.

Cred că am analizat în detaliu întrebarea cum se creează un utilizator MySQL, acum puteți crea noi utilizatori, vom vorbi despre privilegiile utilizatorilor MySQL într-una dintre următoarele publicații, dacă mai aveți întrebări pe această temă, atunci vă rugăm să-i întrebați în comentarii dacă credeți că articolul v-a ajutat și dvs. doresc să ajute resursa - folosește blocul de butoane sociale de pe această pagină, îți voi fi foarte recunoscător și recunoscător! Multumesc pentru atentie!

Top articole similare