1. Miks luua kasutaja MySQL-is
Kasutajahaldus MySQL-is ja selle tähtsus
MySQL on andmebaasi haldussüsteem, mida kasutatakse laialdaselt nii ettevõtetes kui ka isiklikes projektides. Kasutajate haldamine on hädavajalik, et tagada turvalisus ja tõhusus. Näiteks suuremates rakendustes on mitu arendajat ja administraatorit, kes peavad andmebaasi kasutama. Sellisel juhul on oluline määrata igale kasutajale erinevad õigused, et piirata juurdepääsu ja tegevusi vastavalt vajadusele.
Konkreetsete õiguste määramine aitab vähendada andmete kaotsimineku või turvariskide ohtu tarbetute tegevuste tõttu. Lisaks, kui igale kasutajale rakendatakse korralikku paroolihaldust, saab vältida volitamata juurdepääsu väljastpoolt. See suurendab nii andmete turvalisust kui ka süsteemi jõudlust.
2. Kasutaja loomise sammud MySQL-is
Põhiline käsu kasutamine
Kasutaja loomiseks MySQL-is kasutatakse käsku CREATE USER
. Näiteks:
CREATE USER 'username'@'localhost' IDENTIFIED BY 'password';
'username'
: uue kasutaja nimi.'localhost'
: kust kasutaja saab ühenduda (localhost piirab sama serveri kasutajatele).'password'
: kasutajale määratav parool.
Vaikimisi saab kasutaja andmebaasi kasutada ainult localhostist, kuid vajadusel saab localhost
asendada konkreetse IP-aadressiga, et lubada ühendused mujalt.
Lisavalikud kasutaja loomisel
Kasutajat luues saab määrata ka lisavalikuid. Näiteks saab kasutada konkreetset autentimispluginat:
CREATE USER 'username'@'localhost' IDENTIFIED WITH 'auth_plugin' BY 'password';
auth_plugin
määrab MySQL-i autentimismeetodi (nt caching_sha2_password
), mis võimaldab tugevdada parooli turvalisust.

3. Õiguste andmine kasutajale
Õiguste ülevaade ja vajadus
Uuel MySQL-i kasutajal ei ole vaikimisi ühtegi õigust. Õiguste määramiseks kasutatakse käsku GRANT
. Näiteks kõigi õiguste andmiseks:
GRANT ALL PRIVILEGES ON database_name.* TO 'username'@'localhost';
See käsk annab kasutajale kõik õigused määratud andmebaasi kõikidele tabelitele. Turvalisuse seisukohalt on siiski soovitatav anda ainult vajalikud õigused.
Konkreetsete õiguste andmine
Õigusi saab määrata ka täpsemalt:
- SELECT õigus (andmete lugemine)
GRANT SELECT ON database_name.* TO 'username'@'localhost';
- INSERT õigus (andmete lisamine)
GRANT INSERT ON database_name.* TO 'username'@'localhost';
- UPDATE õigus (andmete uuendamine)
GRANT UPDATE ON database_name.* TO 'username'@'localhost';
Õigused saab määrata kas kogu andmebaasile või konkreetsele tabelile:
GRANT SELECT ON database_name.table_name TO 'username'@'localhost';
4. Kasutaja õiguste kontrollimine ja haldamine
Õiguste kontrollimine
Kasutaja õiguste kontrollimiseks kasutatakse käsku SHOW GRANTS
:
SHOW GRANTS FOR 'username'@'localhost';
See käsk kuvab kõik õigused, mis on kasutajale määratud, võimaldades vajadusel teha muudatusi.
Õiguste tühistamine (REVOKE)
Kui soovite eemaldada õiguse, kasutage käsku REVOKE
. Näiteks SELECT-õiguse eemaldamiseks:
REVOKE SELECT ON database_name.* FROM 'username'@'localhost';
Pärast õiguste tühistamist kontrollige muudatusi käsuga SHOW GRANTS
.

5. MySQL kasutajahaldus – parimad praktikad
Minimaalse õiguse põhimõte
Oluline on anda kasutajatele ainult minimaalselt vajalikud õigused, et vältida andmete kaotsiminekut või turvariske. Näiteks kui kasutaja peab ainult andmeid lugema, siis anda talle vaid SELECT
õigus.
Paroolipoliitika tugevdamine
Kasutajate paroolid tuleks regulaarselt muuta ja rakendada tugevat paroolipoliitikat. Selleks saab kasutada käsku ALTER USER
:
ALTER USER 'username'@'localhost' IDENTIFIED BY 'new_password';
Samuti saab määrata parooli aegumistähtaja:
ALTER USER 'username'@'localhost' PASSWORD EXPIRE INTERVAL 90 DAY;
See tähendab, et parool tuleb iga 90 päeva järel uuendada.
Õiguste regulaarne ülevaatus
Oluline on regulaarselt üle vaadata kasutajatele antud õigused ja eemaldada mittevajalikud. See vähendab süsteemi turvariske ja hoiab keskkonna turvalisena. Kasutage SHOW GRANTS
õiguste kontrollimiseks ja vajadusel eemaldage mittevajalikud õigused.
6. Kokkuvõte
Kasutajahaldus MySQL-is on oluline nii turvalisuse kui ka jõudluse säilitamiseks. Uued kasutajad luuakse käsuga CREATE USER
ja õigused määratakse käsuga GRANT
. Minimaalse õiguse põhimõtte järgimine ja tugev paroolipoliitika aitavad vähendada turvariske ja vigade ohtu. Regulaarne õiguste kontroll on hädavajalik, et tagada süsteemi turvaline ja tõhus toimimine.