1. MySQL kasutajate ülevaade
MySQL kasutajahaldus on väga oluline osa andmebaasi turvalisuse ja halduse seisukohalt. Korralik kasutajahaldus aitab ennetada loata juurdepääsu andmebaasile ning parandab haldustegevuste tõhusust, määrates kasutajatele õiged õigused. Selles artiklis selgitatakse üksikasjalikult, kuidas MySQL-i kasutajainfot salvestatakse ja kuidas seda nimekirjana kuvada.
1.1 MySQL kasutajahaldus tähtsus
Andmebaasides hoitakse sageli tundlikku teavet, mistõttu on õige kasutajahaldus hädavajalik. Määrates igale kasutajale täpsed juurdepääsuõigused, saab tugevdada turvalisust ja säilitada andmete terviklikkust.
2. Kus MySQL-is kasutajate infot hoitakse
MySQL-i kasutajate info salvestatakse mysql
andmebaasi user
tabelisse. Selles tabelis on kasutajanimi, hostinimi, (krüpteeritud) parool ning autentimise plugin ja muud kasutajaga seotud andmed.
2.1 mysql.user
tabeli struktuur
mysql.user
tabelis on palju veerge, millesse salvestatakse erinevat infot iga kasutaja kohta. Näiteks sisaldab tabel järgmisi veerge:
Host
: hostinimi, kust kasutaja ühendubUser
: kasutajanimiPassword
: krüpteeritud paroolplugin
: autentimisplugina tüüp- Muud turvalisusega seotud sätted
Sellele tabelile juurdepääsuks on vaja root
õigusi või SELECT
õigust mysql.user
tabelile.
3. MySQL-i kasutajate nimekirja pärimine
MySQL-i kasutajate nimekirja saamiseks tuleb pärida mysql.user
tabelit. Allpool selgitatakse põhilist nimekirja päringut ning paroolide kuvamise viisi.
3.1 Põhiline kasutajate nimekirja päring
Siin on näide, kuidas mysql.user
tabelist kasutajate nimekirja pärida.
SELECT Host, User FROM mysql.user;
See päring kuvab kõik kasutajad ja nende hostid.
3.2 Krüpteeritud paroolide kuvamine
Kui soovite kuvada ka kasutajate krüpteeritud paroole, kasutage järgmist päringut.
SELECT Host, User, Password FROM mysql.user;
See päring kuvab hostinime, kasutajanime ja krüpteeritud parooli. Märkus: paroolid on krüpteeritud ja tegelikku parooli ei ole võimalik vaadata.
4. Muude kasutajate andmete pärimine
MySQL võimaldab pärida veel täiendavat teavet kasutajate kohta, näiteks nende õigused või hetkel ühendatud kasutajate info.
4.1 Kasutaja õiguste kontrollimine
Iga kasutajale antud õiguste nägemiseks kasutage käsku SHOW GRANTS
.
SHOW GRANTS FOR 'username'@'host';
See käsk kuvab kõik õigused, mis on määratud konkreetsele kasutajale. Õiguste korrektne haldus parandab andmebaasi turvalisust.
4.2 Hetkel ühendatud kasutaja kontrollimine
Hetkel ühendatud kasutajate info vaatamiseks kasutage funktsioone user()
ja current_user()
.
SELECT user(), current_user();
See päring tagastab ühenduse loomisel määratud kasutajanime ja tegeliku autentitud kasutajanime. Tavaliselt on need samad, kuid teatud olukordades (nt anonüümne kasutaja) võivad need erineda.

5. Praktiline näide
Järgmisena tutvustame, kuidas MySQL-is kasutajate nimekirja kuvada.
5.1 Kasutajate nimekirja kuvamise sammud
- Logige MySQL-i sisse. Näiteks kasutage
root
kasutajat.mysql -u root -p
- Kasutajate nimekirja kuvamiseks käivitage järgmine päring.
SELECT Host, User FROM mysql.user;
- Kui soovite näha ka krüpteeritud paroole, kasutage järgmist päringut.
SELECT Host, User, Password FROM mysql.user;
5.2 Õiguste kontrollimine
Kindla kasutaja õiguste kontrollimiseks kasutage käsku SHOW GRANTS
.
SHOW GRANTS FOR 'tanaka'@'localhost';
See käsk kuvab kõik õigused, mis on määratud kasutajale tanaka
.
6. MySQL kasutajahaldus: parimad tavad
MySQL kasutajate haldamisel on oluline järgida mitmeid parimaid tavasid.
6.1 Kasutajate nimekirja regulaarne kontroll
Soovitatav on regulaarselt kontrollida mysql.user
tabelit, et tuvastada mittevajalikud või valede õigustega kasutajad.
6.2 Tugevate paroolide kasutamine
Iga kasutaja jaoks seadistage tugev ja keeruline parool. See aitab vähendada loata juurdepääsu riski.
6.3 Minimaalsete õiguste andmine
Kasutajale tuleks anda vaid minimaalselt vajalikke õigusi. Nii saab tõsta andmebaasi turvalisust.
7. Kokkuvõte
Selles artiklis selgitasime üksikasjalikult MySQL-i kasutajahaldust. Mõistmine, kus ja kuidas kasutajate infot hoitakse ning kuidas seda kuvada, on oluline andmebaasi turvalisuse tagamiseks. Lisaks aitavad kasutaja õiguste ja ühenduste kontrollimise meetodid MySQL-i tõhusamalt hallata.