GNU/Linux >> Znalost Linux >  >> Ubuntu

Jak resetovat heslo root v MySQL 8 na Ubuntu Linux

Zapomněli jste root své databáze MySQL? uživatelské heslo? Bez obav! Tento průvodce krok za krokem vysvětluje, jak resetovat heslo root v MySQL 8 v operačním systému Ubuntu 20.04.

Poznámka: Jak již možná víte, uživatel root MySQL používá auth_socket plugin pro ověřování se serverem MySQL v systémech Ubuntu s MySQL 5.7 a novějšími verzemi. Můžete se tedy přihlásit k serveru MySQL jako root uživatel pomocí sudo mysql příkaz, pokud znáte sudo svého uživatele systému Heslo. V takovém případě není nutné měnit root MySQL Heslo. Pokud jste již změnili metodu ověřování pro kořen MySQL buď caching_sha2_password nebo mysql_native_password , podle níže uvedených kroků resetujte root heslo databáze MySQL.

Obnovení hesla uživatele root v MySQL 8 na Ubuntu Linux

1. Nejprve zastavte službu MySQL pomocí příkazu:

$ sudo systemctl stop mysql

Tím se zastaví služba MySQL, pokud je spuštěna. Stav služby MySQL můžete ověřit příkazem:

$ sudo systemctl status mysql

Ukázkový výstup:

● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
      Active: inactive (dead) since Mon 2021-05-31 11:01:15 UTC; 1min 15s ago
     Process: 1446 ExecStart=/usr/sbin/mysqld (code=exited, status=0/SUCCESS)
    Main PID: 1446 (code=exited, status=0/SUCCESS)
      Status: "Server shutdown complete"
 May 31 07:57:50 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 07:57:51 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.
 May 31 11:01:14 ubuntu2004.localdomain systemd[1]: Stopping MySQL Community Server…
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: mysql.service: Succeeded.
 May 31 11:01:15 ubuntu2004.localdomain systemd[1]: Stopped MySQL Community Server.

2. Dále spusťte MySQL server bez jakékoli kontroly oprávnění. Chcete-li to provést, spusťte:

$ sudo systemctl edit mysql

Tím se otevře mysql systemd konfigurační soubor váš výchozí textový editor. V mém případě je to nano editor.

Přidejte do něj následující řádky:

[Service]
ExecStart=
ExecStart=/usr/sbin/mysqld --skip-grant-tables --skip-networking

Po přidání výše uvedených řádků stiskněte CTRL+O a ENTER uložte soubor a poté stiskněte CTRL+X zavřít.

Zde jsou --skip-grant-tables umožňuje připojit se k databázovému serveru MySQL bez hesla a se všemi oprávněními. Deaktivuje také výpisy ze správy účtu, jako je ALTER USER a SET PASSWORD . A --skip-networking Tato volba se používá k zabránění připojení ostatních klientů k databázovému serveru. Protože deaktivuje všechna vzdálená připojení, žádný ze vzdálených klientů nemá přístup k databázovému serveru, dokud databázový server normálně nerestartujete.

3. Znovu načtěte systemd konfiguraci pomocí příkazu:

$ sudo systemctl daemon-reload

4. Spusťte službu MySQL:

$ sudo systemctl start mysql

Tím se spustí MySQL server s --skip-grant-table s a --skip-networking možnosti. Můžete to ověřit kontrolou stavu služby MySQL:

$ sudo systemctl status mysql
 ● mysql.service - MySQL Community Server
      Loaded: loaded (/lib/systemd/system/mysql.service; enabled; vendor preset: enabled)
     Drop-In: /etc/systemd/system/mysql.service.d
              └─override.conf
      Active: active (running) since Mon 2021-05-31 11:39:18 UTC; 1min 23s ago
     Process: 1882 ExecStartPre=/usr/share/mysql/mysql-systemd-start pre (code=exited, status=0/SUCCESS)
    Main PID: 1905 (mysqld)
      Status: "Server is operational"
       Tasks: 36 (limit: 2280)
      Memory: 331.0M
      CGroup: /system.slice/mysql.service
              └─1905 /usr/sbin/mysqld --skip-grant-tables --skip-networking
 May 31 11:39:16 ubuntu2004.localdomain systemd[1]: Starting MySQL Community Server…
 May 31 11:39:18 ubuntu2004.localdomain systemd[1]: Started MySQL Community Server.

5. Nyní se připojte k serveru MySQL jako root uživatel bez hesla:

$ sudo mysql -u root

Okamžitě se dostanete do výzvy shellu MySQL.

Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 10
Server version: 8.0.25-0ubuntu0.20.04.1 (Ubuntu)

Copyright (c) 2000, 2021, Oracle and/or its affiliates.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

mysql> 

6. Přihlásili jsme se k databázovému serveru bez načtení tabulek grantů (protože jsme použili --skip-grant-tables volba). Nemůžeme tedy použít ALTER USER příkaz, který potřeboval k resetování hesla. Chcete-li načíst tabulky grantů, spusťte následující příkaz z příkazového řádku prostředí MySQL:

mysql> FLUSH PRIVILEGES;

7. Dále spusťte některý z následujících příkazů a resetujte MySQL root heslo.

Pokud používáte caching_sha2_password plugin, spusťte:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH caching_sha2_password BY 'Password123#@!';

Pokud používáte mysql_native_password plugin, spusťte místo toho toto:

mysql> ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY 'Password123#@!';

Nahraďte Password123#@! s vlastními.

Po změně root MySQL heslo, ukončete výzvu shellu MySQL:

mysql> exit

8. Vraťte zpět upravený systemd konfiguraci zpět do normálního nastavení pomocí příkazu:

$ sudo systemctl revert mysql

Tímto odstraníte všechny upravené soubory.

Removed /etc/systemd/system/mysql.service.d/override.conf.
Removed /etc/systemd/system/mysql.service.d.

9. Znovu načtěte systemd konfigurace, aby se změny projevily:

$ sudo systemctl daemon-reload

10. Nakonec normálně restartujte MySQL server:

$ sudo systemctl restart mysql

11. Nyní byste měli být schopni se připojit k databázi MySQL jako root uživatele s new password pomocí příkazu:

$ mysql -u root -p

Zadejte root heslo pro přístup do shellu MySQL:

mysql> 

Existuje také další způsob, jak změnit root MySQL heslo v Linuxu. Je to trochu jiné než tato metoda. Pokud vás to zajímá, podívejte se na následující odkaz:

>> How To Reset MySQL Root User Password In Linux

Závěr

Jak můžete vidět, resetování hesla root MySQL je snadné! Pokud jste pečlivě dodržovali výše uvedené kroky, můžete obnovit heslo kořenového adresáře databáze MySQL během několika minut. Už to neztrácej. Zapamatujte si své heslo nebo jej uložte na bezpečném místě.


Ubuntu
  1. Jak obnovit heslo root MySQL

  2. Jak obnovit heslo root MySQL

  3. Jak obnovit heslo Ubuntu?

  1. Jak resetovat nebo změnit heslo kořene MySQL v systému Linux nebo Windows

  2. Jak obnovit heslo root MySQL Server

  3. Jak resetovat kořenové heslo MySQL

  1. Jak resetovat kořenové heslo MySQL/MariaDB na Ubuntu 20.04 Focal Fossa Linux

  2. Jak změnit heslo root v Ubuntu Linux

  3. Jak resetovat heslo správce/root na Ubuntu