Możesz użyć plików startowych. Sprawdź oficjalną dokumentację MySQL na temat Jak zresetować hasło roota (w tym komentarze dotyczące rozwiązań alternatywnych).
Więc w zasadzie używając plików init, możesz dodać dowolne zapytania SQL, które są potrzebne do naprawienia twojego dostępu (takie jak GRAND
, CREATE
, FLUSH PRIVILEGES
, itp.) do pliku init (dowolnego pliku).
Oto mój przykład odzyskiwania konta 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 utworzeniu pliku możesz uruchomić:
killall mysqld
mysqld_safe --init-file=$PWD/your_init_file.sql
następnie, aby sprawdzić, czy to zadziałało, naciśnij Ctrl+Z i wpisz:bg
aby uruchomić proces z pierwszego planu w tle, a następnie zweryfikuj swój dostęp:
mysql -u root -proot
mysql> show grants;
+-------------------------------------------------------------------------------------------------------------+
| Grants for [email protected] |
+-------------------------------------------------------------------------------------------------------------+
| GRANT USAGE ON *.* TO 'root'@'localhost' IDENTIFIED BY PASSWORD '*81F5E21E35407D884A6CD4A731AEBFB6AF209E1B' |
Zobacz też:
- Brak hasła – nie ma problemu na Wszystko MySQL
- Błąd nr 28331:Niejasny komunikat o błędzie, gdy CREATE USER nie powiedzie się z powodu zduplikowanego klucza