Pri práci s DBMS MySQL je mimoriadne dôležité vedieť, ako zmeniť heslo používateľa. Zdá sa, že túto úlohu možno vyriešiť len vtedy, ak máte práva superužívateľa. Ale aj bežný používateľ môže za určitých okolností zmeniť heslo. V tomto článku vám povieme, ako to urobiť za bežných okolností.
Heslo používateľa môžete zmeniť rôznymi spôsobmi. V prostredí MySQL sú na túto úlohu k dispozícii dva príkazy - SET PASSWORD
a ALTER USER
. Poďme si podrobne povedať o každom z týchto dvoch spôsobov.
Na začiatku tohto roka má MySQL dve hlavné verzie. Prvá je zastaraná, ale stále podporovaná (je to verzia 5.7), a najaktuálnejšia v súčasnosti je verzia 8.0. Ako zistiť verziu MySQL? Môžete to urobiť pomocou špeciálneho príkazu, ktorý by sa mal spustiť v termináli:
$ mysql –version
Ako vidíte na obrázku vyššie, používa sa verzia 8.0.28, ale je dôležité poznamenať, že ALTER USER
má význam len v predchádzajúcich verziách MySQL.
Ak chcete vstúpiť do konzoly, mali by ste sa prihlásiť do MySQL pomocou svojho prihlasovacieho mena a hesla. Ak je používateľ na serveri už autorizovaný, mali by ste všetky akcie vykonávať v jeho mene. Pri prvom použití MySQL by ste mali použiť oprávnenia root.
Príkaz na prihlásenie ako root:
$ mysql -u root –p
Potom sa zobrazí výzva na zadanie hesla. Zostáva zadať heslo, stlačiť kláves Enter, hneď potom sa načíta rozhranie MySQL so všetkými dostupnými príkazmi.
Zvláštnosťou MySQL je, že má samostatného hostiteľa, ku ktorému sa viaže účet. Všimnime si tri hlavné hostiteľov:
Localhost umožňuje len lokálne prihlásenie bez vzdialeného pripojenia, % znamená, že účet možno používať z ľubovoľného hostiteľa, IP adresa/názov domény znamená, že účet možno používať len na vybranom názve domény/IP adrese.
Ak chceme zistiť typ hostiteľa účtu, musíme spustiť nasledujúci dotaz SQL:
$ SELECT user, host FROM mysql.user
Na obrázku vyššie vidíme, že používateľ alex má hostiteľa %. Tento hostiteľ by sa mal použiť pri zmene hesla. Používatelia v MySQL a všetky informácie o používateľoch sú uložené v databáze mysql v tabuľke user.
Heslo môžete zmeniť aj pomocou príkazu SET PASSWORD
. Ak chcete zmeniť heslo používateľa alex s hostiteľom % na somepassword666, musíte použiť nasledujúci príkaz:
$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';
Kód používateľa môžete zmeniť pomocou iného príkazu - ALTER USER
. Ak chceme zmeniť heslo pre používateľa alex s hostiteľom % na inéheslo666, spustíme dotaz SQL:
$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';
Upozorňujeme, že meno používateľa a hostiteľ sú uzavreté v jednoduchých úvodzovkách, bez týchto úvodzoviek MySQL nebude schopný rozpoznať reťazec.
Teraz obnovte vyrovnávaciu pamäť oprávnení:
$ FLUSH PRIVILEGES;
Po zmene hesla, zmene privilégia a resetovaní vyrovnávacej pamäte by ste mali vykonať overenie prihlásenia ako používateľ, ktorého heslo bolo zmenené.
Ukončite
shell MySQL vykonaním príkazu exit
:
$ exit
Teraz sa prihláste do shellu:
$ mysql -u alex -p
Ak sa počas prihlasovania zobrazí systémová výzva, všetko ste urobili správne, čo znamená, že heslo bolo úspešne zmenené.
Apply the discount by inserting the promo code in the special field at checkout: