Před několika měsíci jsem nastavil zásobník LAMP v Ubuntu 18.04 server. Dnes jsem se pokusil přihlásit jako uživatel root na svém databázovém serveru, ale úplně jsem zapomněl heslo. Po několika vyhledáváních na webu a procházení fóra MySQL jsem úspěšně resetoval heslo uživatele root MySQL. Pro ty, kteří přemýšlí, jak to udělat, tento krátký tutoriál vysvětluje kroky k resetování hesla MySQL nebo MariaDB Root v operačních systémech Linux a Unix.
Obnovení hesla kořenového adresáře MySQL nebo MariaDB
Nejprve zastavte databázový server.
Pokud používáte MySQL, zadejte následující příkaz a stiskněte klávesu ENTER.
$ sudo systemctl stop mysql
Pro MariaDB:
$ sudo systemctl stop mariadb
Dále restartujte databázový server bez kontroly oprávnění pomocí následujícího příkazu:
$ sudo mysqld_safe --skip-grant-tables &
Zde jsou --skip-grant-tables
umožňuje připojit se bez hesla a se všemi oprávněními.
Pokud server spustíte s touto možností, povolí také --skip-networking
volba, která se používá k zabránění připojení ostatních klientů k databázovému serveru.
A ampersand (&) symbol se používá ke spuštění příkazu na pozadí, takže můžete zadat další příkazy v následujících krocích.
Mějte prosím na paměti, že výše uvedený příkaz je nebezpečný a váš databázový server se stává nezabezpečeným. Tento příkaz byste měli spouštět pouze na krátkou dobu, abyste resetovali heslo.
Dále se přihlaste ke svému serveru MySQL/MariaDB jako root
uživatel:
$ mysql
Na stránce mysql>
nebo MariaDB [(none)]>
spusťte následující příkaz a resetujte databázi root
uživatelské heslo:
UPDATE mysql.user SET Password=PASSWORD('ostechnix') WHERE User='root';
Nahraďte ostechnix ve výše uvedeném příkazu s vaším vlastním heslem.
Poté zadejte následující příkazy pro ukončení konzole mysql.
FLUSH PRIVILEGES;
exit
Nakonec vypněte běžící databázový server, který jste spustili dříve pomocí --skip-grant-tables
volba. Chcete-li to provést, spusťte:
$ sudo mysqladmin -u root -p shutdown
Budete požádáni o zadání vašeho mysql/mariadb root
uživatelské heslo, které jste nastavili v předchozím kroku.
Enter password: [2]- Done sudo mysqld_safe --skip-grant-tables
Nyní spusťte službu mysql/mariadb normálně pomocí příkazu:
$ sudo systemctl start mysql
Pro MariaDB:
$ sudo systemctl start mariadb
Pomocí následujícího příkazu ověřte, zda bylo heslo skutečně změněno:
$ sudo mysql -u root -p
A to je zatím vše. Doufám, že to pro vás bude užitečné.