Úvod
Kořenové heslo MySQL umožňuje uživateli root mít plný přístup k databázi MySQL,Lidé se někdy potýkají s hesly, protože jich v dnešní době potřebujete hodně,Pokud zapomenete nebo ztratíte heslo root k databázi MySQL, stále můžete získat přístup a resetujte heslo, pokud máte přístup k serveru a uživatelský účet s povoleným sudo.
Tento článek se bude zabývat tím, jak resetovat heslo uživatele root pro starší a novější verze MySQL.
Předpoklady
K obnovení hesla root MySQL budete potřebovat:
- Přístup k serveru Linux se systémem MySQL pomocí uživatele sudo
Krok 1 :Identifikace verze databáze
Identifikujte verzi databáze pomocí níže uvedeného příkazu. Poznamenejte si, jakou verzi databáze používáte, protože je později použijete, protože k obnovení hesla uživatele root budete muset použít různé příkazy.
mysql --version
S MySQL uvidíte nějaký podobný výstup:
MySQL outputmysql Ver 14.14 Distrib 5.7.16, pro Linux (x86_64) pomocí EditLine wrapper
Krok 2:Zastavení serveru Mysql
Před změnou hesla root musíte zastavit službu Mysql
V Ubuntu a Debianu Spusťte následující příkaz:
sudo service mysql stop
V CentOS, Fedora a Red Hat Enterprise Linux Spusťte následující příkaz:
sudo service mysqld stop
Po zastavení serveru Mysql k němu přistoupíte ručně, abyste resetovali heslo uživatele root.
Krok 3 :Přístup k databázi s oprávněními root
Pokud spustíte MySQL bez načtení informací o uživatelských oprávněních, umožní vám to přistupovat k příkazovému řádku databáze s oprávněními root bez zadání hesla. To vám umožní získat přístup k databázi, aniž byste o tom věděli.
Spusťte databázi bez načítání tabulek grantů a ujistěte se, že jste na konec přidali symbol Ampersand.
sudo mysqld_safe --skip-grant-tables &
Nyní se můžete připojit k databázi jako uživatel root, který by neměl vyžadovat heslo.
mysql -u root
Místo toho se zobrazí výzva k shellu databáze.
Nápovědu získáte zadáním „help;“ nebo „\h“. Chcete-li vymazat aktuální vstupní příkaz, zadejte „\c“.
mysql>
Krok 4:Nastavte nové heslo kořenového adresáře Mysql
Chcete-li změnit heslo kořenového adresáře Mysql, můžete to provést změnou příkazu aktualizace uživatele v databázi Mysql
use mysql;
update user set authentication_string=PASSWORD("mynewpassword") where User='root';
flush privileges;
quit
Poznámka:Pro MySQL 5.7 a novější bylo odstraněno pole hesla v poli tabulky mysql.user, nyní je název pole ‘autentizační_řetězec’. Použijte příkaz aktualizace níže namísto příkazu výše.
update user set authentication_string=PASSWORD("mynewpassword") where User='root';
Poznámka:Nezapomeňte nahradit moje nové heslo s vaším novým heslem.
Jakmile je příkaz spuštěn, měli byste vidět potvrzení, že příkaz byl úspěšně proveden.
Výstup
Dotaz je v pořádku, ovlivněno 0 řádků (0,00 s)
Krok 5:Zastavte a spusťte službu Mysql
Jakmile heslo aktualizujete, musíte restartovat službu Mysql
V Ubuntu a Debianu Spusťte následující příkaz:
sudo service mysql stop sudo service mysql start
V CentOS, Fedora a Red Hat Enterprise Linux Spusťte následující příkaz:
sudo service mysqld stop sudo service mysqld start
Krok 6:Přihlaste se do databáze
Zkuste se přihlásit do databází pomocí nového hesla. Po zobrazení výzvy zadejte nové heslo.
mysql -u root -p
Závěr
Nyní můžete mít administrativní přístup k MySQL. Ujistěte se, že nové heslo uživatele root, které si vyberete, je silné a bezpečné. Nezapomeňte ho znovu zapomenout:)