A MySQL jellegzetessége a saját biztonsága, amely külső védelemre támaszkodik. Modern, teljes funkcionalitású és hatékony adatbázis-kezelő rendszerként a MySQL saját eszközökkel rendelkezik a felhasználók és az általa vezérelt erőforrásokhoz való hozzáférésük kezelésére.
Ha nem ismeri a helyes felhasználónevet és jelszót, nagyon nehéz hozzáférni az adatbázishoz MySQL-en keresztül.
Normál hosting módban ez elég. Az előre nem látható helyzetek, hackertámadások és egyéb bajok külső rendszeradminisztrációs és biztonsági szolgálatok dolga. Ez a fogalom hagyományossá vált, és gyakorlatilag nem tárgyalják.
A MySQL szerver és a root felhasználó telepítése
Bármilyen operációs környezetben is telepítve van az adatbázis-kezelő rendszer, mindig van legalább egy felhasználója: root. Telepítse a MySQL-t, hozzon létre egy felhasználót minden root joggal - e nélkül dolgozzon veleszerver nem lehetséges. Ennek a felhasználónak a jogosultságai elegendőek a következőkhöz:
- új felhasználók létrehozása és adminisztrálása;
- adatbázisok létrehozása és kezelése.
Alapvetően lehetséges, hogy "jelszó nélküli" felhasználók léteznek a MySQL-ben, de ez elfogadhatatlan.
Általános gyakorlat:
- saját számítógépre telepített szerver, ahová tárhely telepíthető (helyi opció);
- a szerver nyilvános tárhelyen van az interneten.
Az első esetben lehetőség van a szerverrel a parancssorból dolgozni és a phpMyAdmin használatával, a második esetben csak a phpMyAdmin vagy hasonló eszközzel, de a parancssor távoli SSH hozzáféréssel érhető el.
Saját adminisztrációs eszközök
A Unixoid családdal és az Apache szerverek múltjával való rokonság érzése a MySQL egyik jellemzője: a create user egy furcsa szintaxisú parancssor. A Linuxszal és hasonló rendszerekkel dolgozó szakemberek számára ez annyira ismerős, mint amilyen vadnak tűnik a Windows-felhasználók szemében, akik soha nem léptek be a való életbe.
A felhasználó létrehozása a kiszolgáló parancssorának elindításával kezdődik. Windows környezetben ez a következőképpen történik.
Először (1) futtassa a parancssort rendszergazdaként, majd lépjen abba a mappába, ahol a MySQL található (2), majdindítsa el magát a szervert (3):
mysql -u… -p
itt a „-u…” és a „-p” olyan billentyűk, amelyek a „…”=root névre (vagy más névre) és a jelszóra mutatnak. Elvileg a felhasználó nem lehet root, hanem olyan, akinek "root" (adminisztrátori) joga van.
Fontos: a szerver valójában mindig fut, itt a mysql -u… -p parancs a szerver eléréséhez, nem pedig elindításához.
Linux környezetben és hasonló rendszerekben egy ilyen parancs "natív" művelet, és általában úgy határozható meg, hogy egyszerűen elindítja a mysqld-t a megfelelő helyen (a megfelelő útvonalon), ezt ellenőrizni kell az adminisztrátor. Itt általában más név van: nem mysql, hanem mysqld. Itt is ez a művelet nem mindig érhető el minden felhasználó számára (az operációs rendszeren, nem a MySQL-kiszolgálón). A Windowstól eltérően a Linuxoidokban a rend és a biztonság természetes és meg nem alkuvó követelmény, amelyet mindig civilizáltan kezelnek.
Mindenesetre, ha a mysql elindul, ezt egy prompttal (4) jelzi:
mysql>
és lehetővé válik mind a felhasználókkal, mind az adatbázisokkal való munka.
Megjegyzés. Windows környezetben történő telepítéskor minden: Apache, MySQL, PHP, phpMyAdmin alapértelmezett elérési útra állítható, de ezekhez a fontos eszközökhöz ajánlott kompaktabb és közelebbi helyeket használni:
- c:\SCiA\Apache;
- c:\SCiA\PHP;
- c:\SCiA\MySQL;
- …
- c:\SCiB\localhost\www\phpMyAdmin;
- c:\SCiB\site1\www;
- c:\SCiB\site2\www;
- …
- c:\SCiB\siteN\www\.
Ez a logika nemcsak leegyszerűsíti az adminisztrációt, hanem kibővíti a fejlesztők azon képességét is, hogy mozoghasson a termékverziók között és kezelje azok funkcióit.
Munka a MySQL parancssoron
Miután a szerver válaszolt és megadta a parancssort, a felhasználók létrehozhatók, és jogosultságokat lehet hozzárendelni.
Ebben a példában a Create user parancs létrehozta a Petrov felhasználót a 123DFG jelszóval. Ha hiba történik a parancs beírása közben, a szerver felajánlja a javítást, de jobb, ha soha nem hibázik a parancssorban!
A következő parancs minden jogosultságot megad mindenre. Az öblítés parancs elhagyható, de a parancsok pufferét "kiugrik", vagyis javítja a végrehajtásukat.
MySQL: hozzon létre egy felhasználót és biztosítson jogokat az adatbázishoz
A példában használt parancs:
MINDEN KIVÁLTSÁG ELADÁSA. A 'Petrov'@'localhost'-nak;
valójában hozzáférést biztosít Petrov felhasználónak az összes adatbázishoz (első csillag) minden táblához (második csillag).
Általános MySQL-szabályként a felhasználó létrehozása a következő:
GRANT [jogosultság típusa] BE [adatbázis neve].[tábla neve] TO '[felhasználó]'@'localhost';
A következő jogosultságok engedélyezettek:
- MINDEN KIVÁLTSÁG - minden jog.
- CREATE - új táblák/adatbázisok létrehozásának joga.
- DROP – a táblázatok/adatbázisok eldobásának joga.
- TÖRLÉS – a táblázatokban lévő információk törlésének joga.
- INSERT - a táblákba való információírás joga.
- KIVÁLASZTÁS - a táblázatok információinak kiolvasásának joga.
- UPDATE – a táblázatokban szereplő információk frissítésének joga.
- GRANT OPTION – más felhasználók jogosultságaival való együttműködés joga.
Gyakorlati szempontból a MySQL-ben a "felhasználó létrehozása" három lehetőséget jelent a jogok megadására:
- minden jog az összes adatbázishoz és minden felhasználóhoz;
- olvasni és írni;
- csak olvasható.
A jogok odaítélésének egyéb lehetőségeire ritkán van szükség. Linux környezetben sokkal több alapja van a "jogi" szabadságnak (és szükségszerűségnek), de ott sokkal több lehetőség van, mint a Windowsban.
A MySQL "felhasználó létrehozása" fordított művelete megszűnik.
drop user 'Petrov'@'localhost';
A parancs végrehajtása után Petrov többé nem lesz felhasználó, és jogosultságai elvesznek. A jogosultságok megváltoztatásához használja a következő parancsot:
REVOKE [jogosultság] ON [DB].[Table] TO '[felhasználó]'@'localhost';
A MySQL-ben a szokásos művelet egy felhasználó létrehozása vagy törlése, de a jogosultságok megváltoztatása is érvényes művelet (ritkán szükséges).
A phpMyAdmin használata
Ennek a csodálatos eszköznek számos megvalósítása létezik. Az Apache, PHP és MySQL használt verziójától függően gyakran sok időt vesz igénybe a termék megfelelő verziójának megtalálása, de a phpMyAdmin sikeres telepítése után a felhasználó számos kényelmes szolgáltatást és kényelmesfelület.
A phpMyAdmin használatával megmondhatja a MySQL-nek, hogy hozzon létre egy felhasználót bármely gazdagéphez, és közel sebészi módszerekkel kezelje a meglévő felhasználókat.
A phpMyAdmin nem az egyetlen eszköz kényelmes, intuitív és funkciókban gazdag felülettel, de ez a legnépszerűbb eszköz a MySQL-kiszolgálók adminisztrálására.
A parancssorról és a biztonságról
Természetesen a MySQL parancssor használata nem vonzó gyakorlat, de figyelembe kell venni, hogy bizonyos esetekben csak a szerver parancssora tudja menteni az adatbázist vagy a felhasználót, biztosítani az információk importálását vagy exportálását.
A szoftververziók olyan gyorsan fejlődnek, hogy a fejlesztőknek egyszerűen nincs idejük kombinálni például a PHP és a MySQL, a MySQL és a phpMyAdmin szolgáltatásait. Ha valami történik, a parancssor mindig megmenti a napot.
Soha nem szabad elfelejteni: a MySQL adminisztrációja csak az adatbázisokhoz való hozzáférésről és annak funkcióiról szól. Az adatbázisfájlok a MySQL-en kívül is elérhetők. A MySQL és az általa vezérelt erőforrások külső védelme valós és fontos szükséglet.