MySQL administracija: kako kreirati korisnika i definirati njegova prava

Sadržaj:

MySQL administracija: kako kreirati korisnika i definirati njegova prava
MySQL administracija: kako kreirati korisnika i definirati njegova prava
Anonim

Karakteristična karakteristika MySQL-a je njegova sopstvena sigurnost, koja se oslanja na vanjsku zaštitu. Kao moderan, potpuno opremljen i efikasan sistem za upravljanje bazom podataka, MySQL ima sopstvene alate za upravljanje korisnicima i njihovim pristupom resursima koje kontroliše.

mysql kreiranje korisnika
mysql kreiranje korisnika

Ako ne znate ispravno korisničko ime i lozinku, pristup bazi podataka putem MySQL-a je veoma težak.

U normalnom hosting modu, ovo je dovoljno. Nepredviđene situacije, hakerski napadi i druge nevolje stvar su eksterne administracije sistema i sigurnosnih službi. Ovaj koncept je postao tradicionalan i o njemu se praktično ne raspravlja.

Instalirajte MySQL server i root korisnika

U bilo kom operativnom okruženju sistem za upravljanje bazom podataka je instaliran, uvek ima najmanje jednog korisnika: root. Instalirajte MySQL, kreirajte korisnika sa svim root pravima - bez ovoga radite s njimserver nije moguć. Privilegije ovog korisnika su dovoljne za:

  • kreirajte i administrirajte nove korisnike;
  • kreirajte i upravljajte bazama podataka.
mysql kreira korisnika i daje prava na bazu podataka
mysql kreira korisnika i daje prava na bazu podataka

U osnovi je moguće da korisnici "bez lozinke" postoje u MySQL-u, ali to je neprihvatljivo.

Uobičajena praksa:

  • server instaliran na sopstvenom računaru, gde se može instalirati hosting (lokalna opcija);
  • server je na javnom hostingu na internetu.

U prvom slučaju je moguće raditi sa serverom iz komandne linije i koristiti phpMyAdmin, u drugom slučaju samo phpMyAdmin ili sličan alat, ali komandnoj liniji se može pristupiti putem udaljenog SSH pristupa.

Sopstveni administrativni alati

Osjećaj srodnosti sa Unixoid porodicom i prošlošću sa Apache servera je zaštitni znak MySQL-a: create user je komandna linija sa čudnom sintaksom. Za profesionalce koji rade sa Linuxom i sličnim sistemima, ovo je poznato koliko i divlje u očima Windows korisnika koji nikada nisu „ušli u stvarni život“.

Kreiranje korisnika počinje pokretanjem komandne linije servera. U Windows okruženju, to se radi na sljedeći način.

mysql kreiranje korisnika sa svim pravima
mysql kreiranje korisnika sa svim pravima

Prvo (1) potrebno je da pokrenete komandnu liniju kao administrator, zatim idite u fasciklu u kojoj se nalazi MySQL (2), zatimpokrenite sam server (3):

mysql -u… -p

ovde "-u…" i "-p" su ključevi koji ukazuju na ime "…"=root (ili drugo ime) i njegovu lozinku. U principu, korisnik možda nije root, već onaj koji ima "root" (administrativna) prava.

Važno: server je zapravo uvijek pokrenut, ovdje mysql -u… -p je komanda za pristup serveru, a ne za pokretanje.

U Linux okruženju i sličnim sistemima, takva komanda je "prirodna" akcija i po pravilu se određuje jednostavnim pokretanjem mysqld na pravom mjestu (na pravom putu), ovo treba provjeriti sa administratora. Ovdje obično postoji drugačije ime: ne mysql, već mysqld. I ovdje, ova akcija nije uvijek dostupna svim korisnicima (operativnog sistema, a ne MySQL servera). Za razliku od Windowsa, u Linuxoidima, red i sigurnost su prirodni zahtjevi o kojima se ne može pregovarati, koji se uvijek tretiraju na civiliziran način.

U svakom slučaju, kada se mysql pokrene, to će najaviti promptom (4):

mysql>

i biće moguće raditi i sa korisnicima i sa bazama podataka.

Napomena. Prilikom instalacije u Windows okruženju, sve: Apache, MySQL, PHP, phpMyAdmin se može postaviti na zadane putanje, ali se preporučuje korištenje kompaktnijih i bližih lokacija za ove važne alate:

  • c:\SCiA\Apache;
  • c:\SCiA\PHP;
  • c:\SCiA\MySQL;
  • c:\SCiB\localhost\www\phpMyAdmin;
  • c:\SCiB\site1\www;
  • c:\SCiB\site2\www;
  • c:\SCiB\siteN\www\.

Ova logika ne samo da će pojednostaviti administraciju, već će i proširiti sposobnost programera da se kreće između verzija proizvoda i upravlja njihovom funkcionalnošću.

Rad na MySQL komandnoj liniji

Kada server odgovori i pruži svoju komandnu liniju, korisnici se mogu kreirati i dodijeliti im dozvole.

mysql kreiranje korisnika za bilo koji host
mysql kreiranje korisnika za bilo koji host

U ovom primeru, naredba kreiranje korisnika kreirala je korisnika Petrov sa lozinkom 123DFG. Ako se napravi greška prilikom unosa komande, server nudi da je ispravi, ali je bolje da nikada ne pogrešite kada radite na komandnoj liniji!

Sljedeća komanda daje sve privilegije daje sva prava na sve. Naredba flush se može izostaviti, ali 'iskače' bafer komandi, odnosno popravlja njihovo izvršenje.

MySQL: kreirajte korisnika i dodijelite prava na bazu podataka

Komanda korištena u primjeru:

DAJTE SVE PRIVILEGIJE NA. 'Petrov'@'localhost';

zapravo daje korisniku Petrov pristup svim bazama podataka (prva zvezdica) svim tabelama (druga zvezdica).

mysql kreiranje korisnika sa svim pravima
mysql kreiranje korisnika sa svim pravima

Kao generalno MySQL pravilo, kreiranje korisnika je:

GRANT [tip privilegija] ON [ime baze podataka].[ime tabele] TO '[user]'@'localhost';

Sljedeće privilegije su dozvoljene:

  • SVE PRIVILEGIJE - sva prava.
  • CREATE - pravo kreiranja novih tabela/baza podataka.
  • DROP - pravo na ispuštanje tabela/baza podataka.
  • DELETE - pravo na brisanje informacija u tabelama.
  • INSERT - pravo upisivanja informacija u tabele.
  • SELECT - pravo čitanja informacija iz tabela.
  • UPDATE - pravo ažuriranja informacija u tabelama.
  • GRANT OPCIJA - pravo na rad uz privilegije drugih korisnika.

S praktične tačke gledišta, u MySQL-u "kreiraj korisnika" podrazumeva tri opcije za prava:

  • sva prava na sve baze podataka i sve korisnike;
  • čitaj i piši;
  • samo za čitanje.

Druge opcije za dodjelu prava rijetko su potrebne. U Linux okruženju postoji mnogo više osnova za "pravnu" slobodu (i nužnost), ali tu ima mnogo više mogućnosti nego u Windowsu.

Obrnuta operacija MySQL "kreiraj korisnika" je ispuštanje.

ispusti korisnika 'Petrov'@'localhost';

Nakon izvršenja ove naredbe, Petrov više neće biti korisnik i njegove privilegije će biti izgubljene. Za promjenu privilegija koristite naredbu:

OPOZIV [privilege] NA [DB].[Tablica] NA '[user]'@'localhost';

Uobičajena radnja u MySQL-u je kreiranje korisnika ili njegovo brisanje, ali promjena privilegija je također valjana operacija (rijetko se traži).

Upotreba phpMyAdmin

Postoji mnogo implementacija ovog divnog alata. U zavisnosti od verzije Apache-a, PHP-a i MySQL-a koji se koristi, često je potrebno mnogo vremena da se pronađe prava verzija ovog proizvoda, ali kada se phpMyAdmin uspešno instalira, korisnik ima mnogo praktičnih funkcija i udobaninterfejs.

mysql kreiranje korisnika za bilo koji host
mysql kreiranje korisnika za bilo koji host

Koristeći phpMyAdmin, možete reći MySQL-u da kreira korisnika za bilo koji host i upravlja postojećim korisnicima na skoro hirurške načine.

phpMyAdmin nije jedini alat sa udobnim, intuitivnim i bogatim interfejsom, ali je najpopularniji alat za administriranje MySQL servera.

O komandnoj liniji i sigurnosti

Naravno, korištenje MySQL komandne linije je neprivlačna vježba, ali treba imati na umu da u nekim slučajevima samo komandna linija servera može sačuvati bazu podataka ili korisnika, osigurati uvoz ili izvoz informacija.

mysql kreiranje korisnika za bilo koji host
mysql kreiranje korisnika za bilo koji host

Verzije softvera se razvijaju tako brzo da programeri jednostavno nemaju vremena da kombinuju karakteristike, na primer, PHP i MySQL, MySQL i phpMyAdmin. Ako se nešto desi, komandna linija će uvijek spasiti dan.

Također nikada ne treba zaboraviti: MySQL administracija se odnosi samo na pristup bazama podataka i kroz njegovu funkcionalnost. Fajlovi baze podataka su otvoreni za pristup izvan MySQL-a. Eksterno osiguranje MySQL-a i resursa koje on kontrolira je stvarna i važna potreba.

Preporučuje se: