sql >> Databáze >  >> RDS >> Mysql

Jak obnovit heslo kořenových uživatelů MySQL

ServerPilot konfiguruje MySQL pro správu databází na vašem serveru. Obvykle při přihlášení do SSH jako root Pokud chcete získat přístup k MySQL, stačí na příkazovém řádku (SSH) zadat následující:

mysql

Tento příkaz bude automaticky odkazovat na soubor, který obsahuje kořen MySQL uživatelské heslo pro MySQL, takže ho nemusíte zadávat. Heslo uživatele root pro MySQL je obsaženo v tomto souboru:

/root/.my.cnf

Pokud byste potřebovali toto heslo z jakéhokoli důvodu změnit, je třeba provést několik kroků. Upozorňujeme, že zde existují dva různé procesy:Jeden pro situaci, kdy kořenové heslo MySQL aktuálně funguje, a jeden pro nefunkční heslo root MySQL.

Poznámka:Protokol chyb MySQL je dobrým místem k nalezení problémů s MySQL a nachází se zde:

/var/log/mysql/error.log
Varování! Před prováděním podobných úkolů doporučujeme pořídit snímek serveru.

Změna funkčního hesla root MySQL

Tato část se zabývá změnou hesla root MySQL, které funguje, což znamená, že se můžete přihlásit do MySQL jako root jednoduše zadáním mysql na výzvu SSH. Při dodržení těchto kroků nedojde k žádnému výpadku tohoto procesu.

Přihlaste se do SSH jako root a poté se přihlaste do MySQL zadáním:

mysql

Do příkazového řádku MySQL zadejte následující, ale nahraďte sem vložte-vaše-nové-heslo se skutečným heslem, které chcete použít. Kolem nového hesla musíte nechat jednoduché uvozovky. Heslo si poznamenejte, protože ho budete muset v dalším kroku vložit do souboru.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Ukončete MySQL zadáním:

quit

Dále budete muset aktualizovat soubor, který obsahuje kořen MySQL uživatelské heslo, abyste mohli SSH na váš server jako root a spusťte mysql příkaz bez zadání hesla.

sudo nano /root/.my.cnf
Další informace o používání nano textový editor, podívejte se prosím do našeho průvodce.

Aktualizujte pole pro heslo na nové heslo, které jste zadali výše, uložte jej a ukončete textový editor.

Nakonec otestujte, zda nové heslo funguje:

mysql

Vše připraveno!

Změna ztraceného nebo nefunkčního hesla root MySQL

Tato část se zabývá obnovením přístupu root k MySQL při obdržení této chyby:

ERROR 1045: Access denied for user: 'root@localhost' (Using password: YES)
Varování! Tento proces přepne MySQL na krátkou dobu do stavu offline; nejlepší je to provést v době mimo špičku, kdy budou vaši uživatelé nejméně ovlivněni.

Přihlaste se na svůj server přes SSH jako root a zastavte MySQL zadáním:

sudo service mysql stop

Poté spusťte následující příkaz:

sudo test ! -e /var/run/mysqld && sudo mkdir -p /var/run/mysqld && sudo chown mysql:mysql /var/run/mysqld

Nevrací žádný výstup. Spusťte MySQL do speciálního režimu zadáním tohoto:

sudo mysqld --skip-grant-tables --skip-networking &

Jeho výstup by měl být podobný níže uvedenému, i když zobrazené číslo se bude lišit:

sudo mysqld --skip-grant-tables --skip-networking &
[1] 14744

Poté se vrátíte na standardní výzvu SSH. Nyní zadejte následující pro přihlášení do MySQL:

mysql

Nebudete vyzváni k zadání hesla a mělo by vypadat nějak takto:

~# mysql
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 3
Server version: 5.7.25-0ubuntu0.16.04.2-log (Ubuntu)
Copyright (c) 2000, 2019, Oracle and/or its affiliates. All rights reserved.
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>

Zadejte následující příkaz, který vám umožní změnit heslo:

FLUSH PRIVILEGES;

Což dává:

Query OK, 0 rows affected (0.00 sec)

Dále resetujeme skutečné heslo změnou sem vložte-vaše-nové-heslo na vaše skutečné heslo. Poznamenejte si heslo, které jste nastavili, protože ho budeme muset zadat do /root/.my.cnf až skončíme, a ponechte si prosím také jednoduché uvozovky kolem nového hesla.

SET PASSWORD FOR root@'localhost' = PASSWORD('put-your-new-password-here');

Měli byste obdržet upozornění jako:

Query OK, 0 rows affected, 1 warning (0.00 sec)

Ukončete MySQL zadáním:

quit

Dále zadejte následující příkaz:

sudo killall mysqld

Žádný výstup nebude vrácen. Nyní spustíme MySQL normálně:

sudo service mysql start

A konečně, pokud jste změnili heslo mimo to, co bylo v /root/.my.cnf , budete muset tento soubor aktualizovat. Pokud jste použili stejnou hodnotu, nemusíte provádět tento krok:

sudo nano /root/.my.cnf

Zde aktualizujte pole pro heslo, poté uložte a ukončete textový editor.

Nyní byste měli být schopni se úspěšně přihlásit do MySQL jako root uživatele zadáním následujícího příkazu:

mysql

  1. Cheat Sheet pro konfiguraci PostgreSQL

  2. Použití JDeveloper s databází MySQL a databází Oracle na AWS RDS, část 1

  3. T-SQL dotaz pro zobrazení definice tabulky?

  4. MariaDB v Tokiu