Můžete použít init soubory. Podívejte se do oficiální dokumentace MySQL na téma Jak resetovat heslo root (včetně komentářů k alternativním řešením).
Takže v zásadě pomocí init souborů můžete přidat jakékoli SQL dotazy, které potřebujete pro opravu vašeho přístupu (např. GRAND
, CREATE
, FLUSH PRIVILEGES
, atd.) do init souboru (jakéhokoli souboru).
Zde je můj příklad obnovení účtu root:
echo "CREATE USER 'root'@'localhost' IDENTIFIED BY 'root';" > your_init_file.sql
echo "GRANT ALL PRIVILEGES ON *.* TO 'root'@'localhost' WITH GRANT OPTION;" >> your_init_file.sql
echo "FLUSH PRIVILEGES;" >> your_init_file.sql
a po vytvoření souboru můžete spustit:
killall mysqld
mysqld_safe --init-file=$PWD/your_init_file.sql
pak pro kontrolu, zda to fungovalo, stiskněte Ctrl+Z a zadejte:bg
pro spuštění procesu z popředí na pozadí, poté ověřte svůj přístup pomocí:
mysql -u root -proot
mysql> show grants;
+-------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |
Viz také:
- Žádné heslo – žádný problém ve společnosti Everything MySQL
- Chyba č. 28331:Nejasná chybová zpráva, když CREATE USER selže z důvodu duplicitního klíče