Kako podesiti pametne telefone i računare. Informativni portal
  • Dom
  • Windows 7, XP
  • Kreiranje novog korisnika u MySQL i odobravanje dozvole za MySQL bazu podataka.

Kreiranje novog korisnika u MySQL i odobravanje dozvole za MySQL bazu podataka.

Prilikom povezivanja na MySQL server, korisnik određuje korisničko ime i lozinku, a server provjerava da li je klijent ovlašten za pristup serveru i, ako je uspješan, daje korisniku odgovarajuće privilegije. Podaci o privilegijama korisnika se pohranjuju u mysql sistemskoj bazi podataka.

Verifikacija korisnika se vrši pomoću tri polja korisničke tabele (host, korisnik i lozinka) mysql baze podataka. Server uspostavlja vezu samo ako pronađe unos u korisničkoj tabeli koji odgovara unesenom korisničkom imenu i lozinki.

Možete vidjeti kako se lozinke pohranjuju u korisničkoj tabeli koristeći sljedeće naredbe:

mysql>USE mysql

mysql>ODABIR lozinke OD korisnika;

Možete se upoznati sa svim tabelama mysql baze podataka izdavanjem naredbe

mysql>prikaži tabele;

Nakon uspostavljanja veze, server započinje sesiju sa korisnikom. Za svaki dolazni zahtjev, server provjerava da li korisnik ima dovoljne privilegije da dovrši zahtjev. Informacije o privilegijama nalaze se u tabelama -- korisnik, db, host, tables_priv ili columns_priv.

Spisak privilegija je prikazan u nastavku:

MySQL server čita sadržaj ovih tabela u vreme pokretanja i kada promene privilegija stupe na snagu.

Privilegije SELECT, INSERT, UPDATE i DELETE vam omogućavaju da izvodite operacije na redovima tablica baze podataka. Privilegija indeksa omogućava kreiranje ili uništavanje indeksa. Privilegija alter dozvoljava korištenje naredbe alter table. Privilegije kreiranja i ispuštanja omogućavaju vam da kreirate nove ili ispustite postojeće baze podataka i tabele. GRANT privilegija gram omogućava vam da drugim korisnicima dodijelite privilegije koje i sami imate.

Preostale privilegije se koriste za administraciju SQL servera Komanda shutdown isključuje server.

Kada se MySQL server pokrene, sve informacije o privilegijama korisnika se učitavaju u memoriju i od tog trenutka privilegije stupaju na snagu.

Naredbe za dodjelu i opoziv dozvoljavaju administratorima sistema da kreiraju MySQL korisnike i dodijele ili opozovu prava korisnicima na četiri nivoa.

· Globalni nivo.

Globalne privilegije se primjenjuju na sve baze podataka na navedenom serveru. Ove privilegije su pohranjene u tabeli mysql.user.

· Nivo baze podataka.

Privilegije baze podataka primjenjuju se na sve tablice u navedenoj bazi podataka. Ove privilegije su pohranjene u mysql .db i mysql .host tablicama.

· Nivo stola.

Privilegije tablice primjenjuju se na sve stupce navedene tablice.

Ove privilegije su pohranjene u mysql tabeli. tables_priv.

· Nivo kolone.

Privilegije kolona primjenjuju se na pojedinačne stupce navedene tablice. Ove privilegije su pohranjene u mysql .columns_priv tabeli.

Naredba grant vam omogućava da dodate nove korisnike servera:

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

IDENTIFIKOVANO KOD "tajne";

Ova naredba daje korisniku Mikeu, koji se povezuje lokalno (localhost), a prilikom povezivanja na server, korisnik mora navesti lozinku " tajna". Lozinka se čuva na serveru u šifrovanom obliku.

mysql> DODAJTE SVE PRIVILEGIJE NA *.* TO [email protected]"%"

->IDENTIFICIRANO PREMA "some_pass" SA OPCIJOM DOBAVE;

Ovdje Anna prima sva prava (sve privilegije) na sve tabele svih serverskih baza podataka (* . *), i može se povezati i lokalno i daljinski putem mreže (ovo je označeno simbolom % iza [email protected]). Osim toga, Anna može prenijeti svoja prava na druge korisnike (sa opcijom granta), odnosno može sama izdati naredbu za dodjelu i kreirati nove korisnike sistema.

mysql> ODOBRITE KORIŠTENJE NA *.* TO [email protected]

IDENTIFIKOVANO `lozinkom";

Lažni korisnik kreiran u ovom primjeru može se povezati na server, ali samo s lokalnog stroja. Privilegija USAGE znači da korisnik nema sve ostale privilegije. Ovo može biti potrebno kada se osoba zaposli, ali njegove dužnosti još nisu određene. Očekuje se da će privilegije vezane za bazu podataka biti dodijeljene kasnije. Nije moguće kreirati korisnika sa praznom lozinkom -- sistem to ne dozvoljava iz sigurnosnih razloga.

Naredba REVOKE dozvoljava administratoru da opozove korisnička prava:

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

Korisnik Mike ne može vidjeti vrijednost polja use_on u rasporedu.

Set komanda može postaviti različite opcije koje utiču na rad servera ili klijenta. Lozinka za root korisnika se također može postaviti ovom naredbom:

mysql> POSTAVI LOZINKU ZA [email protected]=PASSWORD("nova_lozinka") ;

Korisnici također mogu raditi direktno sa tabelama dodjele privilegija:

mysql> KORISTI mysql;

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

-> WHERE user="root";

Nakon toga, trebali biste izdati naredbu koja prisiljava server da ponovo pročita tabele privilegija - tada će one stupiti na snagu:

mysql> FLUSH PRIVILEGIJE;

Ako je lozinka postavljena pomoću izjave o dodjeli. . .identificirano po, nema potrebe za korištenjem funkcije password(). Ova naredba nezavisno šifrira lozinku, tako da lozinku treba navesti u običnom tekstu, na primjer, ovako:

mysql> ODOBRITE KORIŠTENJE NA *.* TO [email protected]"%" IDENTIFIKOVANO SA "keksom";

Promjene napravljene u tablicama dodjele privilegija korištenjem naredbi za dodjelu, opoziv ili postavljanje lozinke server uzima u obzir čim se te upute izvrše.

Ako vas zanima web razvoj ili razvoj softvera općenito, vjerovatno ste čuli za baze podataka. Baze podataka su virtuelna pohrana podataka potrebnih za izradu web aplikacija. Koriste se za pohranjivanje informacija o korisniku, kao što su: korisničko ime, lozinka, adresa e-pošte i druge. Općenito, bilo koja vrsta informacija koja će vam kasnije možda trebati može se pohraniti u bazu podataka.

Naravno, podaci koje pohranjujete moraju biti organizirani. Ovdje na scenu stupaju sistemi za upravljanje bazama podataka. Ovi sistemi se koriste za rad sa bazom podataka i omogućavaju programerima da strukturiraju, pohranjuju, postavljaju upite i modificiraju podatke.

MySQL je jedan takav sistem upravljanja bazom podataka. To je jedan od najpoznatijih sistema zbog svoje lakoće upotrebe i podrške zajednice. Inače, njegova rasprostranjenost je privukla čak i velike kompanije kao što su Facebook i Twitter, koje ga donekle koriste.

U ovom vodiču ćemo pregledati osnove MySQL-a i naučiti kako kreirati MySQL korisnika. Također ćemo naučiti kako dodijeliti privilegije pristupa MySQL korisnicima. U ovom vodiču, sve ćemo to raditi iz komandne linije.

Prije nego što počnete, trebat će vam sljedeće:

  • MySQL instaliran na vašem računaru. Uputstvo za upotrebu o tome kako ga instalirati na .

Korak 1 - Kreirajte MySQL korisnika i dodijelite neograničene dozvole

Kada počnete koristiti MySQL, dobit ćete korisničko ime i lozinku. Ove početne vjerodajnice vam daju privilegije 'root pristupa'. Korisnik sa root pravima ima potpun pristup svim bazama podataka i tabelama unutar tih baza podataka.

Ali često morate nekom drugom dodijeliti pristup bazi podataka bez pune kontrole. Na primjer, kompanije koje unajmljuju programere da održavaju baze podataka, ali ne žele da im daju mogućnost brisanja ili promjene bilo koje osjetljive informacije vjerovatno će im dodijeliti korisničke dozvole koje nisu root. U ovom slučaju, kompanija može kontrolisati šta njeni programeri mogu, a šta ne mogu da rade sa podacima.

Kreiranje MySQL korisnika je vrlo jednostavno. Pokazat ćemo vam kako kreirati MySQL korisnika i kako mu dodijeliti dozvole baze podataka. Ako korisnik nije root, onda je davanje svih dozvola nepraktično, a ovo je dobar razlog da naučite kako možete dodijeliti dozvole korisnicima. Slijedite ove korake da kreirate novog korisnika:

  1. Pokrenite komandnu liniju i iz nje MySQL server: mysql
  2. Pokrenite sljedeću naredbu: CREATE USER "non-root"@"localhost" IDENTIFIKOVANO SA "123";

    U ovoj naredbi, 'non-root' je ime koje dodjeljujemo našem novom korisniku. A '123' je njegova lozinka. Možete zamijeniti vlastitim vrijednostima unutar navodnika.

  3. Samo kreiranje novog korisnika nije dovoljno. Morate mu dodijeliti dozvole. Da novokreiranom korisniku date neograničen pristup bazi podataka, pokrenite sljedeću naredbu: GRANT ALL PRIVILEGES ON * . * TO "non-root"@"localhost";
  4. Da bi promjene stupile na snagu, pokrenite naredbu za ažuriranje: FLUSH PRIVILEGES;

To je sve! Vaš novi korisnik ima iste dozvole baze podataka kao i root korisnik.

Korak 2 - Dodijelite posebne dozvole korisniku MySQL

Kao što je gore spomenuto, nije baš mudro dati root pristup korisniku koji nije root. Češće nego ne, moraćete da dodelite različite nivoe pristupa različitim korisnicima. MySQL vam omogućava da to učinite brzo i jednostavno pokretanjem sljedeće naredbe:

GRANT [desni tip] ON [ime baze podataka].[ime tabele] TO 'non-root'@"localhost';

Vi samo trebate zamijeniti vrijednost 'permission type' vrstom dozvole koju želite dati novom korisniku. Također morate navesti imena baze podataka i tablica kojima se odobrava pristup. Slično kao u prethodnom primjeru, 'non-root' je korisničko ime, tako da ga možete promijeniti u šta god želite. MySQL ima nekoliko vrsta dozvola, od kojih su neke opisane u nastavku:

  • STVORITI– Omogućava korisnicima da kreiraju baze podataka/tabele
  • SELECT– Omogućava korisnicima da uzorkuju podatke
  • INSERT– Omogućava korisnicima da dodaju nove zapise u tabele
  • UPDATE– Omogućava korisnicima da modifikuju postojeće zapise u tabelama
  • IZBRIŠI– Omogućava korisnicima brisanje zapisa iz tabela
  • DROP– Omogućava korisnicima brisanje zapisa u bazi podataka/tabelama

Da biste koristili bilo koju od ovih opcija, jednostavno zamijenite [pravi tip] neophodna reč. Da biste dodijelili više vrsta dozvola, odvojite ih zarezima, kao u sljedećoj naredbi. Na primjer, možemo dodijeliti privilegije kao što su STVORITI i SELECT za našeg ne-root MySQL korisnika sa ovom naredbom:

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

Naravno, možete se susresti sa situacijom u kojoj morate oduzeti podatke korisnikovim prethodnim pravima pristupa. To možete učiniti tako što ćete pokrenuti sljedeću naredbu:

REVOKE [tip privilegije] ON [ime baze podataka].[ime tabele] FROM 'non-root'@'localhost';

Na primjer, da opozovete sve privilegije ne-root korisnika, uradili biste:

OPOZOVI SVE PRIVILEGIJE NA *.* SA "non-root"@"localhost";

Konačno, možete ukloniti postojećeg korisnika pomoću naredbe:

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

Zapamtite da morate imati root pristup da biste pokrenuli bilo koju od ovih naredbi. Takođe, obavezno pratite FLUSH PRIVILEGES nakon bilo kakve promjene u dozvolama.

Zaključak

U ovom vodiču naučili smo neke osnove o MySQL dozvolama i kako kreirati MySQL korisnika. posebno:

  • Kreiranje novog korisnika i dodjela svih prava pristupa njemu
  • Dodjela posebnih prava pristupa korisnicima, kao i njihovo oduzimanje i brisanje korisnika

Dodjela dozvola može izgledati teško kada razvijate novu web aplikaciju, ali to je vrlo važan korak u upravljanju i održavanju baze podataka. Gotovo sve moderne aplikacije su bazirane na bazama podataka, tako da je vrlo važno da programer zna kako dodijeliti / opozvati prava pristupa bazama podataka u MySQL-u.

Konačno sam se dočepao baza podataka, danas ćemo nastaviti da se bavimo MySQL serverom. Kao što ste možda pretpostavili, govorit ćemo o MySQL korisnicima i kreiranju korisničkog naloga MySQL servera. Da vas podsjetim da se prvi korisnik kreira prilikom automatske instalacije MySQL servera. Unesite lozinku za MySQL nalog korisnika pod imenom root. Ali ponekad postoje situacije kada su prava root korisnika prevelika, na primjer: neki korisnici bi trebali imati prava samo na pregled podataka, ali ne i na uređivanje.

prava, MySQL korisnici mogu imati vrlo različite, a o pravima pristupa MySQL bazama podataka ćemo govoriti u posebnoj publikaciji. Naš zadatak je da shvatimo kako da se povežemo na server koji ima određeni TCP port. U stvari, stvaranje novog MySQL korisnika nije tako teško, ali postoje neke suptilnosti kojih biste trebali biti svjesni kako ne biste imali problema pri administriranju MySQL baza podataka.

Kako pristupiti MySQL serveru

Kada ste kreirali prvog MySQL korisnika, ime mu je root, sami ste smislili lozinku za ovaj nalog. Root korisnik je najvažniji korisnik MySQL servera, glavni administrator sa neograničenim pravima pristupa, ovaj korisnik može kreirati nove naloge za pristup MySQL bazama podataka, drugim rečima: glavni administrator može kreirati MySQL korisnika sa manje prava od sebe.

prije, kako kreirati MySQL korisnika, nemoj zaboraviti . Da biste pristupili MySQL serveru, potrebno je da uspostavite vezu, za to je potrebno da unesete login i lozinku. Ako je server baze podataka udaljen, tada ćete također morati unijeti ime hosta na kojem je instaliran, ako ne navedete ime hosta, tada će se uspostaviti veza s lokalnim serverom.

Možete uspostaviti vezu sa lokalnim serverom koristeći sljedeću naredbu u komandnoj liniji operativnog sistema:

mysql -h localhost -p -u korijen

mysql -h localhost -p -u korijen

Naredbu potvrđujemo pritiskom na tipku Enter, nakon čega će MySQL od vas tražiti da unesete lozinku za ovog korisnika, unesite i pritisnite Enter. Imajte na umu: ako koristite Windows 7 operativni sistem, onda komandna linija mora biti pokrenuta kao administrator. Ponekad MySQL server možda neće biti pronađen, o rješavanju ovog problema ćemo govoriti u drugom članku.

Hajde da pogledamo ovaj tim. Ova naredba pokreće MySQL serversku konzolu, ljusku koja vam omogućava rad sa bazama podataka, operacije koje se mogu izvoditi s podacima mogu biti vrlo različite, sve ovisi o pravima pristupa MySQL korisnika, u ovom slučaju možete izvršiti bilo koje operacije sa svim bazama podataka, jer ste prijavljeni kao MySQL root korisnik. Napomena za korisnike početnike operativnih sistema sličnih UNIX-u: root MySQL korisnik server i root korisnik operativnog sistema su dva različita korisnika. Korisničko ime MySQL servera je napisano nakon "-u" konstrukcije.

Korisnička lozinka MySQL servera je upisana nakon "-p" konstrukcije. Ne možete ga uneti odmah, tada ćete ga morati uneti nakon što pritisnete Enter. Nakon konstrukcije “-h” ispisuje se ime hosta na kojem se nalazi MySQL server, u ovom slučaju izričito naznačavamo da se konekcija mora uspostaviti sa lokalnim serverom baze podataka, to se ne može učiniti.

Nakon što se ova naredba izvrši, od vas će biti zatraženo da unesete MySQL korisničku lozinku. Ako korisnik MySQL nema lozinku, onda nakon izvršenja naredbe pritisnite tipku Return. Nadam se da smo shvatili kako da pristupimo MySQL serveru i tu neće biti pitanja.

Kako vidjeti informacije o postojećim bazama podataka MySQL servera

Imajte na umu: naredba use nije SQL upit, tako da ne možete staviti tačku i zarez na kraj ove naredbe, ali možete je staviti, rezultat će biti isti: počet ćete raditi sa navedenom bazom podataka MySQL servera. Database_name je ime baze podataka sa kojom će MySQL korisnik raditi, i može biti bilo koja lista koju vraća naredba show databases. Mislim da je ovo sve što trebate znati kako biste se dalje bavili činjenicom da je to kako kreirati MySQL korisnika.

Kako kreirati MySQL korisnika. GRANT tim.

Dakle, pređimo na pitanje: kako kreirati MySQL korisnika. Novi MySQL korisnički nalog se kreira naredbom GRANT. Komanda GRANT ne stvara samo MySQL korisnici server, ali i dodijeljena prava pristupa i privilegije MySQL korisnicima. Svi korisnici MySQL-a podijeljeni su u dvije kategorije, jedna je mala, druga velika:

  1. Root MySQL korisnik. Može sve, ovo je glavni administrator MySQL servera, često su root prava nepotrebna, sa ovim pravima možete sebi naštetiti.
  2. MySQL korisnici koje je kreirao root. Ovi korisnici MySQL servera imaju različita prava, prava dodeljuje root korisnik koristeći SQL GRANT izraz.

Pa hajde da vidimo kako kreirati MySQL korisnika, ako već niste zaboravili: MySQL korisnici se kreiraju sa GRANT naredbom:

GRANT priv_type [(column_list)] [, priv_type [(column_list)] ...] ON (tbl_name | * | *.* | db_name.*) TO user_name [, user_name ...]

GRANT priv_type [ (lista_stupaca) ] [, priv_type [ (list_kolona)] . . . ]

UKLJUČENO ( tbl_name | * | * . * | db_name . * )

TO user_name [ IDENTIFIED BY "password" ]

[ , user_name [ IDENTIFIED BY "password" ] . . . ]

[SA OPCIJOM GRANT]

Primer pokazuje opštu sintaksu naredbe GRANT, prilično je jednostavna, ali možete kreirati MySQL korisnike sa različitim privilegijama. Da vidimo šta MySQL korisnici može se kreirati pomoću ove naredbe na konkretnom primjeru.

Kreiraćemo novog MySQL korisnika. Imam mydb na svom serveru, možete kreirati sopstvenu bazu podataka sa imenom koje želite. Imajte na umu da čak i ako MySQL korisnik već postoji, i dalje će mu trebati dodijeliti određene privilegije pomoću naredbe GRANT. Dakle, kreirajmo novog korisnika koji može izvršiti bilo koju radnju sa mydb bazom podataka MySQL servera. Ja ću dati doprinos. MySQL korisničko ime: "newusermysql", MySQL korisnička lozinka: "userpassword". Host na kojem je server instaliran: localhost. Radnje koje će novi korisnik moći izvršiti: sve radnje s bazom podataka mydb. GRANT zahtjev za kreiranje MySQL korisnika sa navedenim dozvolama:

TO "newusermysql" @ "localhost" IDENTIFIKOVANO OD "userpasword" ;

Točka-zarez na kraju naredbe je obavezan jer je GRANT SQL izraz. Razložimo naredbu za kreiranje MySQL korisnika po dijelovima. IDENTIFICIRANO "korisničkom lozinkom": Postavite lozinku za MySQL korisnika da bude "korisnička lozinka". "newusermysql"@"localhost": Odredite host na koji će se korisnik pod imenom "newusermysql" povezati. Naredbu GRANT može koristiti samo MySQL root korisnik. Naredba ALL ON daje puno ovlaštenje korisniku newusermysql na mydb bazi podataka.

Napomena: njime upravlja MySQL server, tako da se korisnici WordPressa mogu kreirati ručno popunjavanjem odgovarajućih polja i davanjem privilegija, s druge strane, WordPress je CMS koji olakšava život webmasteru i pruža grafičko sučelje za kreiranje korisnika.

Mislim da sam detaljno razmotrio pitanje kako kreirati MySQL korisnika, sada možete kreirati nove korisnike, pričaćemo o privilegijama MySQL korisnika u jednoj od sljedećih publikacija, ako još imate pitanja na ovu temu, onda ih pitajte u komentarima ako mislite da je članak pomogao vama i vama želite pomoći resursu - koristite blok društvenih dugmadi na ovoj stranici, bit ću vam vrlo zahvalan i zahvalan! Hvala vam na pažnji!

Top Related Articles