Způsoby platby Abuse

Změna uživatelského hesla v systému MySQL

10.10.2022, 21:52

Při práci s DBMS MySQL je nesmírně důležité vědět, jak změnit uživatelské heslo. Zdá se, že tento úkol lze vyřešit pouze v případě, že máte práva superuživatele. Ale i běžný uživatel může za určitých okolností heslo změnit. V tomto článku si povíme, jak to udělat za běžných okolností.

Změna uživatelského hesla v DBMS MySQL

Heslo uživatele můžete změnit různými způsoby. V prostředí MySQL jsou pro tento úkol k dispozici dva příkazy - SET PASSWORD a ALTER USER. Povíme si o každém z těchto dvou způsobů podrobněji.

Zjistěme verzi systému MySQL

Na začátku letošního roku má MySQL dvě hlavní verze. První z nich je zastaralá, ale stále podporovaná (jedná se o verzi 5.7), a nejaktuálnější je v současné době verze 8.0. V této verzi je možné použít i další verze. Jak zjistit verzi MySQL? Můžete to udělat pomocí speciálního příkazu, který je třeba spustit v terminálu:

$ mysql –version

Узнаем версию MySQL

Jak je vidět z obrázku výše, je použita verze 8.0.28, ale je důležité si uvědomit, že ALTER USER je relevantní pouze v předchozích verzích MySQL, v novějších verzích můžete používat obě verze.

Jak vstoupit do konzoly

Chcete-li vstoupit do konzoly, měli byste se přihlásit k MySQL pomocí svého přihlašovacího jména a hesla. Pokud je uživatel na serveru již autorizován, měli byste všechny akce provádět jeho jménem. Při prvním použití MySQL byste měli použít práva roota.

Příkaz pro přihlášení jako root:

$ mysql -u root –p

Как зайти в консоль

Poté se zobrazí výzva k zadání hesla. Zbývá zadat heslo, stisknout klávesu Enter, ihned poté se načte rozhraní MySQL se všemi dostupnými příkazy.

Zobrazení hostitelů

Zvláštností MySQL je, že má samostatného hostitele, ke kterému se váže účet. Všimněme si tří hlavních hostitelů:

  • Localhost;
  • %;
  • IP adresa/název domény.

Localhost umožňuje pouze místní přihlášení bez možnosti vzdáleného připojení, % znamená, že účet lze používat z libovolného hostitele, IP adresa/jméno domény znamená, že účet lze používat pouze na zvoleném doménovém jménu/IP adrese.

Pro zjištění typu hostitele účtu musíme spustit následující SQL dotaz:

$ SELECT user, host FROM mysql.user

Просмотр хостов

Na obrázku výše vidíme, že uživatel alex má hostitele %. Tento hostitel by měl být použit při změně hesla. Uživatelé v MySQL a všechny informace o nich jsou uloženy v databázi mysql v tabulce user.

Změna hesla pomocí SET PASSWORD

Heslo můžete změnit také pomocí příkazu SET PASSWORD. Chcete-li změnit heslo uživatele alex s host % na somepassword666, musíte použít následující příkaz:

$ SET PASSWORD FOR 'alex'@'%' = 'somepassword666';

Меняем пароль с помощью SET PASSWORD

Změna hesla pomocí příkazu ALTER USER

Kód uživatele můžete změnit pomocí jiného příkazu - ALTER USER. Pro změnu hesla pro uživatele alex s host % na jinéheslo666 provedeme dotaz SQL:

$ ALTER USER 'alex'@'%' IDENTIFIED BY 'anotherpassword666';

Меняем пароль с помощью ALTER USER

Všimněte si, že uživatelské jméno a hostitel jsou uzavřeny v jednoduchých uvozovkách, bez těchto uvozovek nebude MySQL schopna řetězec rozpoznat.

Nyní obnovte mezipaměť oprávnění:

$ FLUSH PRIVILEGES;

Jak ověřit nové heslo

Po změně hesla, změně oprávnění a obnovení mezipaměti byste měli provést ověření přihlášení jako uživatel, jehož heslo bylo změněno.

Ukončete shell MySQL provedením příkazu exit:

$ exit

Как проверить новый пароль

Nyní se přihlaste do shellu:

$ mysql -u alex -p

Как проверить новый пароль

Pokud se při přihlašování zobrazí systémová výzva, provedli jste vše správně, což znamená, že heslo bylo úspěšně změněno.