Weboldal keresés

Új felhasználó létrehozása és engedélyek megadása a MySQL-ben


A MySQL egy népszerű és széles körben használt adatbázis-kezelő rendszer, amely tárolja és rendszerezi az adatokat, és lehetővé teszi a felhasználók számára azok lekérését. Számos opcióval rendelkezik, amelyek bizonyos engedélyeket adnak a felhasználóknak a táblákhoz és adatbázisokhoz.

Ebből az útmutatóból megtudhatja, hogyan hozhat létre új felhasználót, és hogyan adhat engedélyeket a MySQL adatbázisban.

Hogyan hozzunk létre új felhasználót a MySQL-ben

Új felhasználó létrehozásához először jelentkezzen be a MySQL shellbe.

sudo mysql -u root -p

Adja meg a sudo jelszót, majd azt a jelszót, amelyet a MySQL adatbázis beállításakor adott, és nyomja meg az ENTER billentyűt. Ezt követően ezt a felszólítást fogja kapni.

Új felhasználó létrehozásához használja az alábbi szintaxist:

MariaDB [none]> CREATE USER 'newuser'@'localhost' IDENTIFIED BY 'password';

Például egy „tecmint” nevű új felhasználó létrehozásához az adatbázisban, hívja meg a következő parancsot:

MariaDB [none]> CREATE USER 'tecmint'@'localhost' IDENTIFIED BY 'QkYKmw$5tec';

Néhány megjegyzés, amit észben kell tartani

Amikor helyileg ad hozzá egy felhasználót, azaz azon a rendszeren, amelyre telepítette a MySQL-t, a felhasználó gazdagépe localhostként van megadva, nem pedig az IP-cím. A „localhost” kulcsszó jelentése „ez a számítógép”, és a MySQL egyedileg kezeli. Alapvetően a localhost-ot a mysql kliens használja arra, hogy kapcsolatot létesítsen a helyileg telepített MySQL adatbázis-kiszolgálóval.

Eddig a tecmint felhasználónak nincs engedélye az adatbázisokkal való interakcióhoz. Ami azt illeti, a felhasználó még a MySQL shell-hez sem férhet hozzá.

Futtassa, hogy a felhasználó teljes hozzáférést biztosítson az összes adatbázishoz, beleértve a táblákat is.

MariaDB [none]> GRANT ALL PRIVILEGES ON * . * TO 'tecmint'@'localhost';

A fenti parancsban a csillagok az adatbázisra és a táblára mutatnak, amelyhez a felhasználó hozzáférhet. Minden jogot biztosít a felhasználónak az adatbázishoz – olvasás, írás, szerkesztés, és végrehajtás, beleértve az összes végrehajtást. a feladatokat más adatbázisokban és táblákban is.

Eddig teljes hozzáférést biztosítottunk a felhasználónak az adatbázishoz. Bár ez hasznos a MySQL-fogalmak magyarázatában, általában nem ajánlott, mivel biztonsági kockázatot jelenthet az adatbázisaira nézve. Gondoljon csak bele, mi történhet, ha egy hacker megszerezné a felhasználó jelszavát. Tovább fogunk haladni, és a következő részben megvitatjuk, hogyan rendelhetünk hozzá bizonyos engedélyeket.

Ha végzett az engedélyek hozzárendelésével a felhasználóhoz, töltse be újra az összes jogosultságot a képen látható módon, hogy a változtatások érvénybe lépjenek.

MariaDB [none]> FLUSH PRIVILEGES

Különböző felhasználói engedélyek megadása

Íme a felhasználóknak megadható lehetséges engedélyek lebontása:

  • MINDEN JOGOSULTSÁG – Amint korábban láttuk, ez teljes hozzáférést biztosít a MySQL-felhasználók számára egy adott adatbázishoz.
  • CREATE – Lehetővé teszi a felhasználók számára új adatbázisok vagy táblák létrehozását.
  • DROP – Lehetővé teszi a felhasználók számára adatbázisok vagy felhasználók törlését.
  • INSERT – Lehetővé teszi a felhasználók számára, hogy sorokat szúrjanak be a táblázatokba.
  • TÖRLÉS – Lehetővé teszi a felhasználók számára, hogy sorokat töröljenek a táblázatokból.
  • SELECT – a „SELECT” engedéllyel a felhasználók elolvashatják egy táblázat tartalmát.
  • FRISSÍTÉS – Lehetővé teszi a felhasználók számára, hogy frissítsék a táblázat sorait.
  • BEADÁSI LEHETŐSÉG – A felhasználók megadhatják vagy eltávolíthatják más felhasználók jogosultságait.

Egy adott felhasználó engedélyének megadásához használja a következő szintaxist:

MariaDB [none]> GRANT permission_type ON database_name.table_name TO 'username'@'localhost';

Ezenkívül engedélyeket rendelhet az adatbázisban lévő összes táblához egyetlen csillag szimbólummal, az alábbi módon:

MariaDB [none]> GRANT permission_type ON database_name.* TO 'username'@'localhost';

Ha például a SELECT engedélyeket szeretné hozzárendelni a „tecmint” felhasználóhoz a testdb adatbázis összes tábláján, futtassa a parancsot.

MariaDB [none]> GRANT SELECT ON testdb.* TO 'tecmint'@'localhost';

Ezután öblítse ki a jogosultságokat, hogy a változtatások életbe lépjenek.

MariaDB [none]> FLUSH PRIVILEGES;

Ezenkívül egyszerre több engedélyt is hozzárendelhet, ha vesszővel választja el őket az ábrán látható módon.

MariaDB [none]> GRANT INSERT, UPDATE ON testdb.* TO 'tecmint'@'localhost';

Hogyan lehet visszavonni a MySQL engedélyeket

A felhasználó engedélyeinek visszavonásához használja a következő szintaxist:

MariaDB [none]> REVOKE permission_type ON database_name.table_name FROM 'username'@'localhost';

Például a „tecmint” felhasználó INSERT engedélyeinek visszavonásához futtassa a parancsot.

MariaDB [none]> REVOKE INSERT ON testdb.* FROM tecmint'@'localhost';
MariaDB [none]> FLUSH PRIVILEGES

Ha meg szeretné tekinteni a felhasználó aktuális engedélyeit, hajtsa végre a következőt:

MariaDB [none]> SHOW GRANTS FOR 'username'@'localhost';

Az alábbi kimenetből láthatjuk, hogy az INSERT engedélyt törölték a 'tecmint' felhasználótól, így csak a SELECT és az UPDATE marad. jogokat a testdb adatbázisban.

A MySQL shellbe való bejelentkezés teszteléséhez az új felhasználó használatával először jelentkezzen ki.

MariaDB [none]> quit;

Ezután jelentkezzen be újra.

sudo mysql -u tecmint -p

Adja meg a felhasználó jelszavát, és nyomja meg az ENTER billentyűt a shell eléréséhez.

Egy felhasználó elvetéséhez használja a DROP parancsot, ugyanúgy, mint az adatbázis törlésekor.

MariaDB [none]> DROP USER 'username'@'localhost';

Érdemes elolvasni a következő MySQL-lel kapcsolatos cikkeket is:

  • Hasznos tippek a MySQL gyakori hibáinak elhárításához
  • Mytop – Hasznos eszköz a MySQL/MariaDB teljesítményének nyomon követésére Linux alatt
  • Az alapértelmezett MySQL/MariaDB port megváltoztatása Linuxban
  • A MySQL vagy a MariaDB gyökérjelszó visszaállítása Linux alatt
Következtetés

Remélhetőleg mostanra már létrehozhat felhasználókat a MySQL adatbázis-kiszolgálókon, és kényelmesen hozzárendelheti vagy visszavonhatja az engedélyeket.