Jak Začít?

Máš v počítači zápisky z přednášek
nebo jiné materiály ze školy?

Nahraj je na studentino.cz a získej
4 Kč za každý materiál
a 50 Kč za registraci!




Správa a zabezpečení databáze (tabulky databáze MySQL, přidání uživatele databáze, práva, role, zamykání tabulek, transakce)

PDF
Stáhnout kompletní materiál zdarma (237.9 kB)

Níže je uveden pouze náhled materiálu. Kliknutím na tlačítko 'Stáhnout soubor' stáhnete kompletní formátovaný materiál ve formátu PDF.

Přidání všech oprávnění pro všechny databáze a jejich tabulky. 
GRANT ALL PRIVILEGES ON *.* TO 'username'@'localhost'; 

Odebrání oprávnění na DROP pro všechny databáze a jejich tabulky. 
REVOKE DROP ON *.* TO 'username'@'localhost'; 

Přidání oprávnění měnit oprávnění uživatelů (může přidělovat prává, která sám má). 
GRANT USAGE ON *.* 'username'@'localhost' WITH GRANT OPTION;

PAD Programování a databáze 

Téma 18 

Školní rok 2017/2018 

2/2 

Jan Švábík, V4D 

Role 

Aby nebylo nutné přidělovat oprávnění každému uživateli zvlášť, existují role. Jde o jakési skupiny 
oprávnění a tuto roli pak je možné snadno přidělit uživatelům, kteří mají disponovat oprávněními 
takové role. Jako příklad lze uvést role admin, která by měla přidělena všechna oprávnění. Nyní je 
možné uživatelům, kteří mají mít všechna oprávnění (mají být administrátory) přidělit roli admin. 

Abychom nemuseli přidělovat oprávnění všem uživatelům zvlášť (což by bylo zdlouhavé), existují 
role.  Role  jsou  takové  “šablony  na  oprávnění”.  Například  můžeme  vytvořit  roli  admin,  které 
povolíme vše. Následně uživatelům, ze kterých chceme udělat administrátory přidělíme tuto roli 
a ti automaticky získají tato práva. MySQL role nepodporuje. Mnoho databázových systémů jako 
Oracle, Sybase nebo MS SQL ale ano. 

Nastavování rolí může vypadat přibližně následovně. 

CREATE ROLE 'app_developer', 'app_read', 'app_write'; 

GRANT ALL ON app_db.* TO 'app_developer'; 
GRANT SELECT ON app_db.* TO 'app_read'; 
GRANT INSERT, UPDATE, DELETE ON app_db.* TO 'app_write'; 

CREATE USER 'dev1'@'localhost' IDENTIFIED BY 'dev1pass'; 
CREATE USER 'read_user1'@'localhost' IDENTIFIED BY 'read_user1pass'; 
CREATE USER 'read_user2'@'localhost' IDENTIFIED BY 'read_user2pass'; 
CREATE USER 'rw_user1'@'localhost' IDENTIFIED BY 'rw_user1pass'; 

GRANT 'app_developer' TO 'dev1'@'localhost'; 
GRANT 'app_read' TO 'read_user1'@'localhost', 'read_user2'@'localhost'; 
GRANT 'app_read', 'app_write' TO 'rw_user1'@'localhost'; 

Témata, do kterých materiál patří