目次
1. Sissejuhatus
MySQLi kasutajate haldamine on andmebaasi turvalisuse ja tõhusa kasutamise jaoks vältimatu oluline ülesanne. Eriti, kui tead, millised kasutajad saavad andmebaasile ligi ja millised õigused neil on, saab rakendada juurdepääsupiiranguid ja tugevdada turvalisust. Selles artiklis selgitame laialdaselt MySQLi kasutajate loendi kuvamise meetodit, üksikasjaliku teabe hankimist, kasutajate loomist ja haldamist ning levinud vigade lahendamist. Sellega saad mõista MySQLi kasutajate haldamise põhitõdesid ja praktilisi toiminguid.2. Kasutajaloendi hankimise meetod
MySQL-is kasutajaloendi hankimiseks kasutatakse tabelit “mysql.user”. See tabel sisaldab kõiki MySQL-i registreeritud kasutajate andmeid ning lihtsa käsuga saab vajaliku teabe kuvada.Kasutajaloendi kuvamise põhitõed
Esmalt logi MySQL-i ja käivita järgmine käsk.SELECT Host, User FROM mysql.user;
Selle käsuga kuvatakse iga kasutaja “hosti nimi” ja “kasutajanimi” loendina. Näiteks hostinimed nagu “localhost” või “127.0.0.1” võivad ilmuda, mis viitavad vastavalt IPv4 ja IPv6 lokaalsele ühendusele. See on tavaline seadistus lokaalses kasutajahalduse keskkonnas.Kasutajate teabe täielik hankimine
Lisaks, üksikasjalikuma teabe kontrollimiseks on võimalik järgmise käsuga kuvada kõik “mysql.user” tabeli veerud.SELECT * FROM mysql.user;
See käsk kuvab üksikasjalikku teavet iga kasutaja kohta (nt autentimisandmed ja õiguste seaded), kuid tavaliselt on parem määrata ainult vajalikud veerud, et see oleks loetavam. Ülaltoodut kasutades saab laiemat teavet, kuid visuaalselt struktureeritud väljundi jaoks on kasulik ka kindlate veergude valimine.3. Kasutaja üksikasjaliku teabe hankimine
MySQL-is on võimalik hankida ka kasutajate paroolihashet ja õiguste teavet. See muudab kasutajate haldamise veelgi tõhusamaks.Paroolihasheli kuvamise meetod
MySQL-is on parool krüpteeritud ja salvestatud hashina veerus “authentication_string”. Järgneva käsuga saab kontrollida kasutaja hostinime, kasutajanime ja paroolihashet.SELECT Host, User, authentication_string FROM mysql.user;
Selle tulemusena saab kontrollida, kas iga kasutaja parool on määratud. Kuigi parooli hash väärtus kuvatakse, ei ole seda võimalik dekrüpteerida, mis tagab turvalisuse. See on väga mugav meetod uute kasutajate ja õiguste andmise olukorra kontrollimiseks.Kindla kasutaja õiguste kontroll
Kasutaja andmebaasi või tabeli õiguste uurimiseks kasutatakse käsku “SHOW GRANTS”.SHOW GRANTS FOR 'kasutajanimi'@'hostinimi';
See kuvab loendi kõigist õigustest, mis on määratud konkreetsele kasutajale. See käsk on kasulik andmebaasi administraatoritele, kes otsustavad, milliseid õigusi konkreetsele kasutajale anda.4. Kasutajate loomine ja haldamine
Tutvustame, kuidas MySQL-is luua uusi kasutajaid ning määrata ja muuta õigusi.Uue kasutaja loomine
Uue kasutaja loomiseks kasutatakse käsku “CREATE USER”. Allpool on näide, kuidas luua kasutaja “example_user” ja määrata parooliks “password123”.CREATE USER 'example_user'@'localhost' IDENTIFIED BY 'password123';
Kasutaja loomise järel tuleb MySQL-is muudatused rakendada, käivitades käsu “FLUSH PRIVILEGES”.FLUSH PRIVILEGES;
Kasutaja kustutamise tähelepanekud
Kasutamata kasutaja kustutamiseks kasutatakse käsku “DROP USER”. Kuid enne kasutaja kustutamist on oluline kontrollida, kuidas see mõjutab seotud õigusi ja andmeid. Näiteks, kui kustutatav kasutaja on seotud teiste süsteemide või teenustega, võib kustutamise järel tekkida ligipääsu puudumine, mistõttu tuleb olla ettevaatlik.5. Levinud vead ja nende lahendused
MySQLi kasutajate haldamisel võivad esineda vead. Siin selgitame levinud vead ja nende lahendused.Õiguste viga “Access denied”
“Access denied” viga tekib, kui kasutajal puuduvad vajalikud õigused andmebaasile või tabelile. Sel juhul saab administraator anda vajalikke õigusi kasutajale. Allpool olevate käskudega saab anda õigusi konkreetsele andmebaasile.GRANT ALL PRIVILEGES ON database_name.* TO 'kasutajanimi'@'hostinimi';
FLUSH PRIVILEGES;
Kasutaja autentimise viga “Unknown user”
“Unknown user” viga tekib, kui määratud kasutajat ei eksisteeri. Kui see viga ilmneb, kontrolli, kas kasutajanimi ja hostinimi on õigesti määratud või kas kasutaja on olemas tabelis “mysql.user”.Parooliga seotud vead
Kui tekivad parooli sobimatuse või autentimise vead, saab probleemi lahendada parooli uuesti määrates. Allpool oleva käsuga saab parooli lähtestada.ALTER USER 'kasutajanimi'@'hostinimi' IDENTIFIED BY 'uus parool';