Zgubiłem nazwę użytkownika i hasło MySQL. Jak mogę to odzyskać?
158
Zatrzymaj proces MySQL.
Uruchom proces MySQL z opcją --skip-grant-table.
Uruchom klienta konsoli MySQL z opcją -u root.
Wymień wszystkich użytkowników;
SELECT * FROM mysql.user;
Zresetuj hasło;
UPDATE mysql.user SET Password=PASSWORD('[password]') WHERE User='[username]';
Ale NIE ZAPOMNIJ do
Zatrzymaj proces MySQL
Uruchom proces MySQL normalnie (tj. Bez opcji --skip-grant-table)
kiedy kończysz. W przeciwnym razie bezpieczeństwo Twojej bazy danych może zostać naruszone.
dpkg-reconfigure mysql-server-5.5
polecenia do resetowania hasła root MySQL?-u
jest to ignorowane przy uruchamianiu serwera--skip-grant-tables
.mysql.user
wywoływanej kolumnypassword
, użyjauthentication_string
zamiast tego.Niestety Twoje hasło użytkownika jest nieodwracalne. Został zaszyfrowany jednokierunkowym hashem, który, jeśli nie wiesz, jest nieodwracalny. Polecam pójść z Xenph Yan powyżej i po prostu utwórz nowy.
Możesz również skorzystać z następującej procedury z podręcznika, aby zresetować hasło dla dowolnego konta root MySQL w systemie Windows:
Następnie znajdź usługę MySQL na liście i zatrzymaj ją. Jeśli serwer nie działa jako usługa, może być konieczne użycie Menedżera zadań, aby wymusić jego zatrzymanie.
Utwórz plik tekstowy i umieść w nim następujące instrukcje. Zastąp hasło hasłem, którego chcesz używać.
Każda instrukcja UPDATE i FLUSH musi być zapisana w jednym wierszu. Instrukcja UPDATE resetuje hasło dla wszystkich istniejących kont root oraz FLUSH nakazuje serwerowi ponowne załadowanie tabel grantów do pamięci.
Otwórz okno konsoli, aby przejść do wiersza poleceń:
Uruchom serwer MySQL ze specjalną opcją --init-file :
Jeśli zainstalowałeś MySQL w lokalizacji innej niż C: \ mysql , odpowiednio dostosuj polecenie.
Serwer wykonuje podczas uruchamiania zawartość pliku o nazwie --init-file , zmieniając każdy z nich katalog główny hasło konta .
Możesz także dodać opcję --console opcję do polecenia, jeśli chcesz, aby dane wyjściowe serwera pojawiały się w oknie konsoli, a nie w pliku dziennika.
Jeśli zainstalowałeś MySQL za pomocą Kreatora instalacji MySQL, może być konieczne określenie opcji --defaults-file :
Odpowiednie ustawienie --defaults-file można znaleźć za pomocą Menedżera usług:
Znajdź usługę MySQL na liście, kliknij ją prawym przyciskiem myszy i wybierz opcję Właściwości. Pole Ścieżka do pliku wykonywalnego zawiera plik --defaults-file .
Powinieneś teraz być w stanie połączyć się z MySQL jako root przy użyciu nowego hasła.
źródło
mysqld-nt
zamiastmysqld
?--init-file
? (Coś podobnego do--execute
poleceniaUlepszenie najbardziej przydatnej odpowiedzi tutaj:
Nie ma potrzeby ponownego uruchamiania serwera MySQL.
użyj
FLUSH PRIVILEGES;
po aktualizacji instrukcji mysql.user do zmiany hasła.--skip-grant-options
Pozwala każdemu, aby połączyć bez hasła i ze wszystkimi przywilejami. Ponieważ jest to niebezpieczne, możesz chciećfrom: reference: resetting-permissions-generic
źródło
mysql.user
? Jednak często tak nie jest.Chociaż nie możesz bezpośrednio odzyskać hasła MySQL bez brutalnego forsowania, może istnieć inny sposób - jeśli użyłeś MySQL Workbench do połączenia się z bazą danych i zapisałeś poświadczenia w „skarbcu”, jesteś złoty.
W systemie Windows poświadczenia są przechowywane w % APPDATA% \ MySQL \ Workbench \ workbench_user_data.dat - zaszyfrowane za pomocą CryptProtectData (bez dodatkowej entropii). Odszyfrowanie jest łatwe:
Lub możesz sprawdzić ten wątek DonationCoder dla źródła i pliku wykonywalnego szybkiej i brudnej implementacji.
źródło
Zrób to bez przestojów
Uruchom następujące polecenie w terminalu, aby połączyć się z DBMS (potrzebujesz uprawnień administratora):
uruchom hasło aktualizacji użytkownika docelowego (dla mojej przykładowej nazwy użytkownika
mousavi
i jego hasła musi to być123456
):w tym momencie musisz wykonać rzut, aby zastosować zmiany:
Gotowe! Zrobiłeś to bez zatrzymywania lub restartowania usługi mysql.
źródło
Jeśli masz uprawnienia roota do serwera, na którym działa mysql, powinieneś zatrzymać serwer mysql za pomocą tego polecenia
Teraz uruchom mysql za pomocą tego polecenia
Teraz możesz zalogować się do mysql za pomocą
Pełne instrukcje można znaleźć tutaj http://www.techmatterz.com/recover-mysql-root-password/
źródło
Zaloguj się do MySql z Windows cmd przy użyciu istniejącego użytkownika:
Następnie uruchom następujące polecenie:
Następnie skopiuj zaszyfrowane hasło md5 dla odpowiedniego użytkownika i istnieje kilka aplikacji do odszyfrowania hasła online dostępnych w Internecie. Używając tego odszyfrowanego hasła i użyj go do zalogowania się następnym razem. lub zaktualizuj hasło użytkownika za pomocą polecenia:
Następnie zaloguj się przy użyciu nowego hasła i użytkownika.
źródło
JEŚLI masz skonfigurowane ODBC, możesz uzyskać hasło z pliku konfiguracyjnego ODBC. Znajduje się w /etc/odbc.ini dla systemu Linux oraz w folderze Software / ODBC w rejestrze systemu Windows (jest ich kilka - może to zająć trochę poszukiwań)
źródło
Zapisz plik. W tym przykładzie plik będzie miał nazwę C: \ mysql-init.txt. prosi o uprawnienia administracyjne do zapisania pliku
źródło
Chociaż ścisła, logiczna, informatyczna interpretacja pytania operatora wymagałaby zarówno „Jak mogę odzyskać moją nazwę użytkownika MySQL”, jak i „hasła” - pomyślałem, że może być przydatne dla kogoś, kto również zajmie się operacją LUB interpretacji . Innymi słowy ...
1) Jak mogę odzyskać swoją nazwę użytkownika MySQL?
LUB
2) hasło
Wydaje się, że ten ostatni warunek został już obszernie rozwiązany, więc nie będę się tym przejmować. Poniżej przedstawiono rozwiązanie dla samego przypadku „Jak odzyskać moją nazwę użytkownika MySQL”. CZEŚĆ.
Aby znaleźć swoją nazwę użytkownika mysql, uruchom następujące polecenia z powłoki mysql ...
WYBIERZ użytkownika z mysql.user;
wypisze tabelę wszystkich użytkowników mysql.
źródło