Úvod
MySQL je populární systém pro správu databází pro webový aplikační software. Jako mnoho webových služeb má MySQL heslo na úrovni správce nebo root. Heslo uživatele root umožňuje uživateli provádět všechny funkce nejvyšší úrovně v databázi.
Pokud jste ve své databázi MySQL nikdy nenastavili heslo uživatele root, měli byste být schopni se k ní připojit. To však není dobrý bezpečnostní postup, protože k vaší databázi má přístup kdokoli.
Pokud má vaše databáze heslo root, ale ztratili jste o něm přehled, tento průvodce vám pomůže resetovat heslo roota MySQL v systémech Linux a Windows .
Předpoklady
- Existující databáze MySQL
- Přístup k serveru se systémem Linux nebo Windows se systémem MySQL
- Administrátorská práva v počítači, který je hostitelem databáze MySQL
- Textový editor. Poznámkový blok je ve výchozím nastavení součástí Windows. Vim je standardně nainstalován v Linuxu.
- Přístup k rozhraní příkazového řádku (nebo terminálu)
Jak změnit heslo uživatelského kořene MySQL v systému Linux
Krok 1:Přihlaste se jako uživatel MySQL
Když spouštíte instalaci Linuxu, ujistěte se, že jste přihlášeni jako stejný uživatel, který normálně spouští MySQL. I když se můžete přihlásit jako root, jakmile spustíte server MySQL, ujistěte se, že jej spouštíte pomocí --user=mysql
možnost.
V opačném případě může systém vytvořit soubory vlastněné uživatelem root, což může způsobit problémy.
Krok 2:Najděte soubor .pid pro službu MySQL
Dalším krokem je nalezení souboru .pid pro službu MySQL.
Většina systémů je ukládá do/var/lib/mysql/ , /var/run/mysqld/ nebo /usr/local/mysql/data/ cesta. Název souboru obvykle začíná mysqld (nebo název hostitele vašeho systému) a končí příponou .pid rozšíření.
Krok 3:Zabijte proces mysqld
Před vytvořením nového hesla root zastavte server MySQL. Chcete-li ukončit proces mysqld, otevřete příkazový řádek a spusťte následující:
kill `cat /mysql-data-directory/host_name.pid`
Nahraďte mysql-data-directory/host_name.pid s názvem souboru, který jste našli v předchozím kroku. Ujistěte se, že jste zadali celou cestu k souboru. Také se ujistěte, že na začátku příkazu používáte klávesu zpětného zaškrtnutí (obvykle nad klávesou tabulátoru) a nikoli uvozovky.
Krok 4:Vytvořte soubor s hesly
1. Otevřete svůj oblíbený textový editor. V tomto příkladu používáme vim:
sudo vim
2. Dále přidejte do souboru následující řádek:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Nezapomeňte uvést jednoduché uvozovky a středník. Nahraďte NewPassword s heslem, které chcete použít. Nakonec se ujistěte, že používáte silné bezpečné heslo, jako jsou tyto příklady.
Příkaz bude fungovat pro počítač, který právě používáte. Pokud se připojujete k jinému systému, nahraďte localhost s příslušným názvem hostitele.
3. Uložte soubor do home/me/mysql-init .
Krok 5:Restartujte server MySQL a použijte nové heslo
Chcete-li použít změny hesla, restartujte server MySQL spuštěním následujícího příkazu v terminálu:
mysqld --init-file=/home/me/mysql-init &
Tím se spustí MySQL a použije se změna hesla textového souboru. V závislosti na tom, jak server spouštíte, možná budete muset přidat další možnosti (například --defaults-file
před init
příkaz.)
Krok 6:Čištění
Nakonec se přihlaste ke svému serveru MySQL pomocí účtu root a ověřte, zda nové heslo funguje. Poté odstraňte soubor, který jste vytvořili v kroku 4.
Jak resetovat kořenové heslo MySQL ve Windows
Krok 1:Zastavte server MySQL
1. Začněte tím, že zkontrolujete, zda jste přihlášeni jako správce.
2. Stiskněte Win +R (podržte klávesu Windows/Super a stiskněte „r“.) Jakmile se objeví pole „Spustit“, zadejte:
services.msc
3. Klikněte na OK .
4. Projděte seznam služeb a vyhledejte službu MySQL. Klikněte pravým tlačítkem na položku a poté klikněte levým tlačítkem na Zastavit .
Krok 2:Spusťte textový editor
Klikněte na nabídku a vyhledejte Poznámkový blok .
Případně můžete použít cestu:nabídka> Příslušenství Windows> Poznámkový blok .
Krok 3:Vytvořte nový textový soubor pomocí příkazu Heslo
1. Do textového editoru zadejte následující řádek:
ALTER USER 'root'@'localhost' IDENTIFIED BY 'NewPassword';
Ujistěte se, že ponecháte uvozovky a středník. Nahraďte NewPassword s heslem dle vašeho výběru.
2. Použijte Soubor> Uložit jako pro uložení souboru do kořenového adresáře vašeho pevného disku (C:). Zvolte název souboru, například mysql-init.txt .
V důsledku toho localhost příkaz provede změnu hesla ve vašem lokálním systému. Pokud měníte heslo v systému přes síť, nahraďte název hostitele localhost .
Krok 4:Otevřete příkazový řádek
1. Stiskněte Ctrl +Shift +Esc .
2. Poté klikněte na Soubor nabídka> Spustit novou úlohu .
3. Napište cmd.exe a zaškrtněte políčko pro spuštění jako správce.
4. Klikněte na OK .
Krok 5:Restartujte server MySQL pomocí nového konfiguračního souboru
1. Přejděte do adresáře MySQL pomocí příkazového řádku:
cd "C:\Program Files\MySQL\MySQL Server 8.0\bin"
2. Poté zadejte následující:
mysqld --init-file=C:\\mysql-init.txt
Všimněte si, že za výzvou C:jsou dvě lomítka.
Pokud jste v kroku 2 zvolili jiný název souboru, použijte tento název za dvojitým lomítkem.
Krok 6:Vyčištění
Nyní se můžete přihlásit ke svému serveru MySQL jako root pomocí nového hesla.
Dvakrát zkontrolujte, zda to funguje. Pokud máte jedinečné možnosti konfigurace (jako je spuštění MySQL pomocí --defaults-file
možnost), pokračujte a udělejte to.
Jakmile se MySQL spustí a vy potvrdíte změnu hesla, smažte C:\mysql-init.txt soubor.