Privilegiile MySQL controlează exact ce poate și ce nu poate face un utilizator în interiorul unei baze de date. Nobregas MySQL Panel oferă 18 privilegii individuale plus scurtătura ALL PRIVILEGES. Înțelegerea fiecăruia te ajută să acorzi nivelul corect de acces pentru fiecare caz de utilizare.
Tabel de referință privilegii
| Privilegiu | Categorie | Descriere |
|---|---|---|
| SELECT | Date | Citirea rândurilor din tabele |
| INSERT | Date | Adăugarea de rânduri noi în tabele |
| UPDATE | Date | Modificarea valorilor din rândurile existente |
| DELETE | Date | Eliminarea rândurilor din tabele |
| CREATE | Structură | Crearea de tabele noi |
| ALTER | Structură | Schimbarea structurii tabelului (coloane, tipuri) |
| DROP | Structură | Ștergerea tabelelor și view-urilor |
| INDEX | Structură | Crearea și eliminarea indexurilor |
| REFERENCES | Structură | Crearea constrângerilor de cheie străină |
| CREATE TEMPORARY TABLES | Admin | Crearea tabelelor temporare la nivel de sesiune |
| LOCK TABLES | Admin | Blocarea tabelelor pentru acces exclusiv |
| CREATE VIEW | Admin | Crearea tabelelor virtuale (view-uri) |
| SHOW VIEW | Admin | Vizualizarea definiției SQL a view-urilor |
| CREATE ROUTINE | Admin | Crearea procedurilor stocate și funcțiilor |
| ALTER ROUTINE | Admin | Modificarea sau ștergerea procedurilor stocate |
| EXECUTE | Admin | Executarea procedurilor stocate și funcțiilor |
| EVENT | Admin | Crearea și gestionarea evenimentelor programate |
| TRIGGER | Admin | Crearea și gestionarea trigger-urilor pe tabele |
Privilegii de date — explicate în detaliu
SELECT
Permite utilizatorului să citească date folosind interogări SELECT. Acesta este cel mai fundamental privilegiu. Fără el, utilizatorul nu poate obține nicio informație din tabele. Necesar pentru orice tip de raportare, afișare sau obținere de date.
INSERT
Permite utilizatorului să adauge rânduri noi cu instrucțiuni INSERT. Necesar pentru trimiteri de formulare, înregistrări de utilizatori, logare și orice operațiune care creează înregistrări noi.
UPDATE
Permite utilizatorului să modifice rânduri existente cu instrucțiuni UPDATE. Necesar pentru editarea profilurilor, schimbarea setărilor, actualizarea stocurilor și operațiuni similare.
DELETE
Permite utilizatorului să elimine rânduri cu instrucțiuni DELETE. Necesar pentru eliminarea înregistrărilor, curățarea datelor vechi și gestionarea conținutului.
Privilegii de structură — explicate în detaliu
CREATE
Permite crearea de tabele noi folosind CREATE TABLE. Majoritatea aplicațiilor au nevoie de acesta doar în timpul configurării inițiale sau la rularea migrărilor.
ALTER
Permite modificarea structurii tabelului cu ALTER TABLE — adăugarea, redenumirea sau ștergerea coloanelor, schimbarea tipurilor de date și modificarea indexurilor. Esențial în timpul migrărilor dar rar necesar în producție.
DROP
Permite ștergerea tabelelor și view-urilor cu DROP TABLE sau DROP VIEW. Acesta este un privilegiu distructiv — un utilizator cu DROP poate elimina permanent un tabel complet cu toate datele sale.
INDEX
Permite crearea și eliminarea indexurilor pe tabele. Indexurile accelerează interogările dar pot încetini scrierile. De obicei necesar doar de administratorii bazei de date sau instrumentele de migrare.
REFERENCES
Permite crearea constrângerilor de cheie străină între tabele. Relevant doar pentru bazele de date care folosesc integritate relațională cu definiții FOREIGN KEY.
Privilegii de administrare — explicate în detaliu
CREATE TEMPORARY TABLES
Permite crearea tabelelor temporare care există doar pentru sesiunea curentă de bază de date. Util pentru interogări complexe care necesită stocare intermediară de rezultate.
LOCK TABLES
Permite blocarea explicită a tabelelor cu LOCK TABLES. Necesar pentru operațiuni care necesită acces exclusiv pentru a preveni modificările concurente.
CREATE VIEW
Permite crearea view-urilor — tabele virtuale definite printr-o interogare SQL. View-urile simplifică interogările complexe și pot restricționa coloanele vizibile.
SHOW VIEW
Permite vizualizarea instrucțiunii CREATE VIEW din spatele unui view existent. Necesar pentru depanare sau inspectarea definițiilor view-urilor.
CREATE ROUTINE
Permite crearea procedurilor stocate și funcțiilor. Acestea sunt programe SQL reutilizabile stocate în interiorul bazei de date.
ALTER ROUTINE
Permite modificarea sau ștergerea procedurilor stocate și funcțiilor existente.
EXECUTE
Permite executarea procedurilor stocate și funcțiilor cu instrucțiuni CALL. Un utilizator poate avea nevoie de EXECUTE fără CREATE ROUTINE dacă trebuie doar să execute proceduri create de alții.
EVENT
Permite crearea, modificarea și ștergerea evenimentelor programate — planificatorul de sarcini încorporat MySQL pentru executarea SQL la intervale specificate.
TRIGGER
Permite crearea și ștergerea trigger-urilor — acțiuni SQL automate care se activează când rânduri sunt inserate, actualizate sau șterse dintr-un tabel.
ALL PRIVILEGES
Bifarea ALL PRIVILEGES acordă simultan fiecare privilegiu enumerat mai sus. Este o scurtătură convenabilă echivalentă cu bifarea tuturor celor 18 căsuțe individuale. Folosește-l pentru utilizatori de încredere care au nevoie de control complet asupra unei baze de date.
Alegerea privilegiilor corecte
| Caz de utilizare | Privilegii recomandate |
|---|---|
| Raportare doar-citire | SELECT |
| Aplicație web standard | SELECT, INSERT, UPDATE, DELETE |
| Aplicație cu migrări | SELECT, INSERT, UPDATE, DELETE, CREATE, ALTER, DROP, INDEX |
| Acces complet admin | ALL PRIVILEGES |
| Executor proceduri stocate | SELECT, EXECUTE |