A MySQL DBMS-sel való munka során rendkívül fontos tudni, hogyan kell megváltoztatni a felhasználói jelszót. Úgy tűnik, hogy ez a feladat csak akkor oldható meg, ha szuperfelhasználói jogokkal rendelkezik. De még egy közönséges felhasználó is megváltoztathatja a jelszót bizonyos körülmények között. Ebben a cikkben elmondjuk, hogyan lehet ezt normál körülmények között megtenni.
Egy felhasználó jelszavát többféleképpen is megváltoztathatja. A MySQL környezetben két parancs létezik erre a feladatra: SET PASSWORD
és ALTER USER
. Ismertessük részletesen mind a két módszert.
Az év elején a MySQL-nek két fő verziója van. Az első elavult, de még mindig támogatott (ez az 5.7-es verzió), a jelenleg legfrissebb pedig a 8.0-s verzió. Hogyan lehet megtudni a MySQL verzióját? Ezt egy speciális paranccsal teheti meg, amelyet a terminálban kell végrehajtani:
$ mysql –version
Amint a fenti képen látható, a 8.0.28-as verziót használjuk, de fontos megjegyezni, hogy az ALTER USER
csak a MySQL korábbi verzióiban releváns, az újabb verziókban mindkét verzió használható.
A konzolba való belépéshez be kell jelentkezni a MySQL-be a bejelentkezési adatokkal és a jelszóval. Ha egy felhasználó már jogosult a szerveren, akkor minden műveletet az ő nevében kell végrehajtania. A MySQL első használatakor a root jogosultságokat kell használni.
A root felhasználóként való bejelentkezéshez szükséges parancs:
$ mysql -u root –p
Ezt követően jelszókérdés jelenik meg. Marad a jelszó megadása, az Enter billentyű lenyomása, közvetlenül ezután betöltődik a MySQL felülete az összes elérhető paranccsal.
A MySQL sajátossága, hogy van egy különálló hosztja, amelyhez egy fiók kötődik. Vegyük észre a három fő hosztot:
A Localhost csak helyi bejelentkezést tesz lehetővé, távoli kapcsolat nélkül, a % azt jelenti, hogy a fiók bármelyik hosztról használható, az IP-cím/domainnév azt jelenti, hogy a fiók csak a kiválasztott domainnév/IP-cím alatt használható.
Ahhoz, hogy megtudjuk a fiók hoszt típusát, a következő SQL lekérdezést kell futtatnunk:
$ SELECT user, host FROM mysql.user
A fenti képernyőképen láthatjuk, hogy az alex felhasználónak % a hosztja. Ezt a hosztot kell használni a jelszó megváltoztatásakor. A MySQL-ben a felhasználók és a felhasználókra vonatkozó összes információ a mysql adatbázisban a user táblában van tárolva.
A jelszót a SET PASSWORD
paranccsal is megváltoztathatjuk. Az alex nevű felhasználó jelszavának % host %-kal történő megváltoztatásához somepassword666-ra kell a következő parancsot használni:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
A felhasználói kódot egy másik paranccsal - ALTER USER
- is megváltoztathatja. Az alex nevű felhasználó jelszavának megváltoztatásához az alex with host % jelszavát egy másikjelszó666-ra változtatjuk egy SQL lekérdezéssel:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Kérjük, vegye figyelembe, hogy a felhasználónév és a host szimpla idézőjelek közé van zárva, ezek nélkül az idézőjelek nélkül a MySQL nem fogja tudni felismerni a karakterláncot.
Most állítsuk vissza a jogosultsági gyorsítótárat:
$ FLUSH PRIVILEGES;
Miután megváltoztattuk a jelszót, megváltoztattuk a jogosultságot és visszaállítottuk a gyorsítótárat, el kell végeznünk egy bejelentkezési ellenőrzést, mint az a felhasználó, akinek a jelszavát megváltoztattuk.
Lépjen ki
a MySQL héjból az exit
parancs végrehajtásával:
$ exit
Most jelentkezzen be a héjba:
$ mysql -u alex -p
Ha a bejelentkezés során a rendszer promptot látja, akkor mindent helyesen csinált, ami azt jelenti, hogy a jelszó módosítása sikeresen megtörtént.
Apply the discount by inserting the promo code in the special field at checkout:
Apply the discount by inserting the promo code in the special field at checkout: