A MySQL szerver a telepítéskor létrehoz egy root
felhasználót.
Fontos: Az egyes adatbáziskezelő rendszerek között eltérő lehet a felhasználók adminisztrációja.
Felhasználó létrehozása: CREATE USER
CREATE USER 'felhasznalonev'@'hostnev' IDENTIFIED WITH azonosito_plugin_neve BY 'jelszo';
A WITH azonosito_plugin_neve
rész elhagyható. Ilyenkor az alapértelmezett caching_sha2_password
plugin kerül felhasználásra.
Megjegyzés: Néhány PHP verzió hibásan működik a caching_sha2_password
pluginnal. Ebben az esetben a mysql_native_password
plugint célszerű használni. Pl.:
CREATE USER 'pistike'@'localhost' IDENTIFIED WITH mysql_native_password BY 'jelszo';
GRANT
paranccsal tudunk jogosultságot kiadni számára.grant
táblákban tárolja.GRANT JOGOSULTSAG ON adatbazisnev.tablanev TO 'felhasznalonev'@'hostnev';
Több jogosultságot is meg lehet adni ,
-vel elválasztva.
A jogosultságokat kiadhatjuk globálisan is minden táblára a *
szimbólum használatával.
A WITH GRANT OPTION
segítségével lehetővé tesszük, hogy az adott felhasználó az általa birtokolt jogosultságokat kiossza más felhasználóknak is.
GRANT CREATE, ALTER, DROP, INSERT, UPDATE, DELETE, SELECT ON *.* TO 'pistike'@'localhost' WITH GRANT OPTION;
Egy felhasználónak minden jogosultságot ki tudunk osztani az ALL PRIVILEGES
kifejezést használva.
root
szintű felhasználót létre tudunk hozni.GRANT ALL PRIVILEGES ON *.* TO 'pistike'@'localhost' WITH GRANT OPTION;
A frissen kiadott jogosultságok érvénybe léptetéséhez újratölthetjük a grant
táblákat a FLUSH PRIVILEGES
paranccsal.
grant
táblák implicit módosítása után az adatbázis automatikusan újratölti azokat. Ezért nem szükséges a fenti parancs használata.Egy felhasználónak a kiadott jogosultságokat ellenőrizhetjük a SHOW GRANTS
paranccsal.
SHOW GRANTS FOR 'pistike'@'localhost';
A kiadható jogosultságok teljes körét a MySQL dokumentáció tartalmazza:
MySQL :: MySQL 8.0 Reference Manual :: 6.2.2 Privileges Provided by MySQL
A MySQL elkülönít statikus és dinamikus jogosultságokat:
Válasszátok ki a korábban általatok megtervezett és létrehozott adatbázist. Amennyiben ez nem áll rendelkezésre, válasszatok egy tetszőleges adatbázist. A feladat megoldása során minden jogosultságot erre az adatbázisra adjatok ki amennyiben indokolt.
Hozzatok létre felhasználókat és állítsátok be a szükséges jogosultságokat: