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.logVarová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.cnfDalší 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