• Nie Znaleziono Wyników

Wyrażenia SQL służące do administracji bazą MySQL

N/A
N/A
Protected

Academic year: 2022

Share "Wyrażenia SQL służące do administracji bazą MySQL"

Copied!
13
0
0

Pełen tekst

(1)

WyrażeniaSQLsłużącedoadministracjibaząMySQL GRANT i REVOKE Polecenie GRANT służydozakładaniakontużytkownikombazydanychido nadawaniaimpewnychprzywilejówzwiązanychzdostępemdodanych. Polecenie REVOKE służydoodbieranianadanychuprawnieńzadanym użytkownikom. Wszystkiedaneoużytkownikachiprzywilejachjakieposiadająsą przechowywane w bazie o nazwie mysql,któradlanieuprawnionych użytkownikówniepowinnabyćnawetwidoczna.

27.03.2020 Przedmiot: Administrowanie bazami danych.

Temat:

(2)

SkładniapoleceniaGRANT jestnastępująca GRANT typ_przyw [(lista_kolumn)] [, typ_przyw [(lista_kolumn)]] ... ON {tablica | * | *.* | baza.*} TO user [IDENTIFIED BY [PASSWORD] 'haslo'] [, user [IDENTIFIED BY [PASSWORD] 'haslo']] ... [REQUIRE NONE | [{SSL| X509}] [CIPHER 'cipher' [AND]] [ISSUER 'issuer' [AND]] [SUBJECT 'subject']] [WITH [GRANT OPTION | MAX_QUERIES_PER_HOURile | MAX_UPDATES_PER_HOURile | MAX_CONNECTIONS_PER_HOUR ile ]]

(3)

SkładniapoleceniaREVOKEjestnastępująca REVOKE typ_przyw [(lista_kolumn)] [, typ_przyw [(lista_kolumn)]] ... ON {tablica | * | *.* | baza.*} FROM user1 [, user2] ... lubrazem,kiedychcemyzabraćwszystkiemożliweprzywileje wymienionymużytkownikom: REVOKE ALL PRIVILEGES, GRANT OPTION FROM user1 [, user2] ...

(4)

Możnawyróżnić4poziomydostępudobazydanych. oPoziom globalny Przywilejeglobalnestosująsiędowszystkichbazdanychnadanym serwerze bazodanowym. Informacja o takich przywilejach jest przechowywana w tablicy mysql.user. Polecenia GRANT ALL ON *.*oraz REVOKE ALL ON *.* stosująsięwłaśniedoprzywilejówglobalnych. oPoziom bazodanowy Przywilejebazodanowestosująsiędowszystkichtablicwdanejbazie danych. Informacja o takich przywilejach jest przechowywana w tablicach mysql.db oraz mysql.host. Polecenia GRANT ALL ON nazwa_bazy.* oraz REVOKE ALL ON nazwa_bazy.* dotycząnadawaniaiodbieraniaprzywilejów bazodanowych, czyli tylko w bazie danych o nazwie nazwa_bazy.

(5)

oPoziom tablicowy Przywilejetablicowestosująsiędowszystkichkolumnwdanejtablicy. Informacja o takich przywilejach jest przechowywana w tablicy mysql.tables_priv Polecenia GRANT ALL ON nazwa_bazy.nazwa_tablicy oraz REVOKE ALL ON nazwa_bazy.nazwa_tablicy dotyczątylko przywilejówtablicowych,czylidostępudodanychwtablicyonazwie nazwa_tablicy w bazie o nazwie nazwa_bazy. oPoziom kolumnowy Przywilejekolumnowedotyczątylkodostępudokonkretnych (wybranych) kolumn danej tablicy. Informacja o takich przywilejach jest przechowywana w tablicy mysql.columns_priv.

(6)

Usunięciewszystkichprzywilejówpolegawięcnajczęściejnausunięciu odpowiednich danych z kilku tablic bazy mysql.Abyusunąćwszystkie możliweprzywilejedanemuużytkownikowi lubużytkownikom,należy posłużyćsięnastępującympoleceniem: REVOKE ALL PRIVILEGES, GRANT OPTION FROM user [, user] ... DlapoleceńGRANT i REVOKE, typ przywileju typ_przyw możebyćm.in. jednymznastępujących: Przywilej Znaczenie ALL [PRIVILEGES]Wszystkie przywileje poza GRANT OPTION ALTER MożliwośćwykonywaniaALTER TABLE CREATEMożliwośćwykonywaniaCREATE TABLE CREATE TEMPORARY TABLESMożliwośćwykonywaniaCREATE TEMPORARY TABLE

(7)

CREATE VIEW MożliwośćwykonywaniaCREATE VIEW DELETEMożliwośćwykonywaniaDELETE DROPMożliwośćwykonywaniaDROP TABLE FILEMożliwośćwykonywaniaSELECT ... INTO OUTFILE oraz LOAD DATA INFILE INDEX MożliwośćwykonywaniaCREATE INDEX oraz DROP INDEX INSERTMożliwośćwykonywaniaINSERT LOCK TABLES MożliwośćwykonywaniaLOCK TABLES na tablicach,wprzypadkuktórychmamymożliwość wykonywania INSERT RELOADMożliwośćwykonywaniaFLUSH,naprzykład FLUSH PRIVILEGES ALTER MożliwośćwykonywaniaALTER TABLE SELECTMożliwośćwykonywaniaSELECT SHOW DATABASESMożliwośćwykonywaniaSHOW DATABASES

(8)

SHOW VIEWMożliwośćwykonywaniaSHOW CREATE VIEW SHUTDOWNMożliwośćzatrzymywania pracy serwera SUPER

MożliwośćwykonywaniaCHANGE MASTER, KILL, PURGE MASTER LOGS, SET GLOBAL, równieżpozwolenienapołączeniezbazą nawet w przypadku, kiedyprzekroczonomaksymalnaliczbę połączeń UPDATEMożliwośćwykonywaniaUPDATE USAGE Bezżadnychprzywilejów GRANT OPTIONMożliwośćnadawaniaprzywilejówinnym użytkownikom(bardzoniebezpiecznaopcja) Przywileje EXECUTION, FILE, RELOAD, SHOW DATABASES, SHUTDOWN oraz SUPER sąprzywilejamiadministracyjnymiimogąbyć nadanetylkonapoziomieglobalnym(używającON *.*).Pozostałe przywilejemogąbyćnadawanebardziejspecyficznie. Opcji USAGE używamy,kiedychcemyzałożyćkontoużytkownikowi nie nadającmużadnychprzywilejów.

(9)

Jedynymi przywilejami (typ_przyw),któremożnaużyćokreślającdostęp napoziomietablicowym,są:SELECT, INSERT, UPDATE, DELETE, CREATE, DROP, GRANT OPTION, INDEX oraz ALTER Jedynymi przywilejami (typ_przyw),któremożnaokreślićprzydostępie dokolumn,są:SELECT, INSERT oraz UPDATE Wprzypadkuokreślaniaprzywilejównapoziomieglobalnym,bazodanowym lub tablicowym, polecenie GRANT ALL przypiszetylkoteprzywileje,które możnaprzypisaćnadanympoziomie.Naprzykład,jeśliużyjemyGRANT ALL ON baza.* awięcbędziemychcielinadaćwszystkieprzywilejena poziomiebazodanowym,wówczasniezostanienadanyżadenprzywilej tylko-globalny,naprzykładFILE. Wprzypadkupoziomukolumnowego(awięcwtedy,gdyw poleceniu GRANT podamylistękolumn), musimywyszczególnićwszystkieprzywileje, jakiemająbyćnadane.NiemożnawtymprzypadkuużyćGRANT ALL.

(10)

DROP USER SkładniapoleceniaDROP USER jestnastępująca DROP USER user Polecenie DROP USER usuwa konto któreniemażadnychprzywilejów, usuwającodpowiedniewpisyztablicyuser w bazie mysql.

(11)

Abyusunąćzbazykontoużytkownika,należywykonaćnastępującekroki: 1.wykonaćpolecenieSHOW GRANTS abydowiedziećsię,jakie przywileje posiada dany użytkownik,któregokontochcemyusunąć,np. SHOW GRANTS FOR root@'localhost'; +--- | GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' +--- ---+ WITH GRANT OPTION | ---+ 2.UżyćpoleceniaREVOKE abyodebrać wszystkie przywileje użytkownikowi,którezostaływyświetlonepoleceniemSHOW GRANTS. Ta procedura usunie wszystkie wpisy dla danego konta, z tablic z bazy mysql,zawierających informacje o przywilejach, poza wpisami w tablicy user.Usunieteżwszystkieglobalneprzywilejewtablicyuser 3.UżyćpoleceniaDROP USER abyusunąćodpowiedniewpisyztablicy user.

(12)

SET PASSWORD Polecenie SET PASSWORD służydoprzypisaniahasładlaistniejącegokonta użytkownika. Ustawienie hasła samemu sobie: SET PASSWORD = PASSWORD('jakies haslo'); Ustawieniehasłazadanemuużytkownikowi: SET PASSWORD FOR uzytkownik = PASSWORD('haslo'); lub w nowszych wersjach: ALTER USER uzytkownik IDENTIFIED BY 'haslo'; Wartość uzytkownik powinnabyćwformacie 'nazwa_uzytkownika'@'nazwa_hosta', gdzie nazwa_uzytkownika oraz nazwa_hosta sąwartościamipólodpowiednio User oraz Host z tablicy mysql.user danego rekordu. Tedwapolajednoznacznieidentyfikują kontoużytkownika(wtablicy mysql.user pola User oraz Host razemtworząkluczunikalny).

(13)

Naprzykład,gdybyśmywtablicymysql.user mieli rekord z polami User oraz Host owartościachodpowiedniorównychstudent oraz %.edu.pl, wówczasustawieniehasłamogłobywyglądaćtak SET PASSWORD FOR 'student'@'%.edu.pl' = PASSWORD('haslo'); lubrównoważniezapomocądwóchpoleceń:UPDATE oraz FLUSH PRIVILEGES UPDATE mysql.user SET Password=PASSWORD('haslo') WHERE User='student' AND Host='%.edu.pl'; FLUSH PRIVILEGES;

Cytaty

Powiązane dokumenty

Utwórz zapytanie wyświetlające listę z kodami oraz nazwami ośrodków znajdujących się w miejscowościach, których nazwy zaczynają się na literę „K” lub „Z”.

Stanow isko je st bardzo zniszczone, co uniem ożliw ia wyzna­ czenie jakichkolw iek większych obiektów m ieszkalnych lub gospodarczych.. M ateriały czasowo znajdują się w

Pawia M irosika w obrębie średniowiecznego układu przestrzennego (podwójnej owalnicy) w celu zlokalizowania śladów zanikłego grodu k a­ sztelańskiego, znanego jedynie

Podczas inspekcji terenow ej PSOZ w Białej Podlaskiej w profilu piaskowni odkryto ślady intensyw nie czarnej w arstw y kulturow ej oraz przepalone kam ie­ nie, stw

This article is published online with Open Access by IOS Press and distributed under the terms of the Creative Commons Attribution Non-Commercial

[r]

We want to construct the truth table for the proposition:.. (p ∧ q) → (¬p

International Сonference on Actual Problems in International Students Teaching and Learning within European Higher Education Area, Ternopil, May 13-16, 2014.. 213 Author index