Musiałem użyć mysqladmin -u root -p shutdown, z nowym hasłem.
SL Barth - Przywróć Monikę
2
Szczególnie przyjemny przepływ instrukcji: następnie uruchom mysql w nowym terminalu
Mohammed Subhi Sheikh Quroush
8
nie mogę tego zrobić mysql -u root. Pokazuje błądAccess denied
Avinash Raj
4
@AvinashRaj: Spróbuj tego: sudo mysql -u root
Allen Gingrich
Niesamowite. Rozumiem, co działało w RHEL 7: Terminal 1: usługa sudo mysql stop sudo mysqld_safe --skip-grant-table --skip-syslog --skip-networking Terminal 2: mysql -u root AKTUALIZACJA mysql.user SET Hasło = HASŁO ('nowe hasło') WHERE User = 'root'; PRZYWILEJE PŁUKANIA; mysqladmin -u root -p shutdown Uwaga: Gdy zamkniesz mysqladmin, zobaczysz wyjście z trybu bezpiecznego w Terminalu 1. sudo service mysql start To wszystko i działa jak urok z nowym hasłem!
Użytkownik StackOverFlow
65
Nie możesz wyświetlić zaszyfrowanego hasła; jedyne, co możesz zrobić, to zresetować!
W moim przypadku nie było tu hasła; jednak zamiast tego /var/log/mysql/error.logzawierało ostrzeżenie o pustym haśle roota - więc ten rodzaj uratował mi dzień :)
Janaka Bandara
19
jedna rzecz, która mnie zaskoczyła przy nowej instalacji mySQL i zastanawiam się, dlaczego nie mogłem uruchomić domyślnego hasła i dlaczego nawet metody resetowania nie działają. dobrze się okazuje, że w Ubuntu 18 najnowsza wersja serwera mysql domyślnie w ogóle nie używa uwierzytelniania hasłem dla użytkownika root. Oznacza to, że nie ma znaczenia, na co go ustawisz, nie pozwoli ci go użyć. oczekuje, że zalogujesz się z uprzywilejowanego gniazda. więc
mysql -u root -p
nie będzie działać w ogóle, nawet jeśli używasz poprawnego hasła !!! odmówi dostępu bez względu na to, co wprowadzisz.
Zamiast tego musisz użyć
sudo mysql
to zadziała bez hasła. wtedy, gdy już jesteś, musisz wpisać
ALTERUSER'root'@'localhost' IDENTIFIED WITH mysql_native_password BY'Password you want to use';
wyloguj się i teraz ta cholerna rzecz w końcu zaakceptuje twoje hasło
Nie możesz tego znaleźć. Jest przechowywany w bazie danych, do której potrzebujesz hasła roota, aby uzyskać dostęp, a nawet jeśli w jakiś sposób uzyskałeś dostęp, jest zaszyfrowany za pomocą jednokierunkowego skrótu. Możesz go zresetować: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
pracował w Centos7 mysqld --init-file=/root/m.txt. Dodałem powyższe polecenie SET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');do /root/m.txt
Damodar Bashyal
8
O ile menedżer pakietów nie zażąda wpisania hasła roota podczas instalacji, domyślnym hasłem root jest pusty ciąg. Aby połączyć się ze świeżo zainstalowanym serwerem, wpisz:
shell> mysql -u root --password=
mysql>
Aby zmienić hasło, odzyskaj powłokę unixa i wpisz:
shell> mysql -u root --password=root...
blah, blah, blah : mysql welcome banner
...
mysql>
Bingo! Nowy zrób coś ciekawego
mysql> show databases;+--------------------+|Database|+--------------------+| information_schema || mysql || performance_schema |+--------------------+3rowsinset(0.00 sec)
domyślnie nie używa haseł, ale uwierzytelnionych gniazd. więc sama zmiana hasła nie jest już wystarczająco dobra.
Kit Ramos
7
Oprócz innych odpowiedzi, w instalacji cpanel, hasło root mysql jest przechowywane w pliku o nazwie /root/.my.cnf. (a usługa cpanel resetuje ją z powrotem po zmianie, więc inne odpowiedzi tutaj nie pomogą)
wygląda na to, że serwer mysql nie używa już domyślnie uwierzytelniania hasłem. musisz uruchomić klienta mysql jako superużytkownik (sudo), aby uzyskać dostęp do czasu zmiany metody logowania.
Kit Ramos
4
Domyślne hasło, które działało u mnie po natychmiastowej instalacji serwera mysql to: mysql
może nie odpowiedział na pytanie, ale wielu przyjeżdżających tutaj ludzi może uznać, że rozwiązuje to ich problem.
Ohad Cohen,
3
Procedura zmienia się w zależności od wersji MySql. Postępuj zgodnie z procedurą dokładnie opisaną dla Twojej wersji:
WSKAZÓWKI - Przeczytaj przed stroną z instrukcjami dla Twojej wersji MySql *
W kroku 5: Zamiast uruchamiać CMD, utwórz na pulpicie skrót wywołujący CDM.exe. Następnie kliknij prawym przyciskiem myszy skrót i wybierz „Wykonaj jako administrator”.
W kroku 6: Pomiń pierwszą proponowaną wersję polecenia i wykonaj drugą, tę z parametrem --defaults-file
Po wykonaniu polecenia, jeśli wszystko jest w porządku, okno CMD pozostaje otwarte, a polecenie z kroku 6 kontynuuje wykonywanie. Po prostu zamknij okno (kliknij „x”), a następnie wymuś zamknięcie MySQl z Menedżera zadań.
Usuń plik za pomocą poleceń SQL i uruchom ponownie MySQL. Hasło należy teraz zmienić.
Udzielone tutaj odpowiedzi wydawały się nie działać, ale sztuczka okazała się następująca: ALTER USER 'root' @ 'localhost' ZIDENTYFIKOWANY PRZEZ mysql_native_password BY 'test';
Otwórz dwie sesje powłoki, logując się do jednej jako użytkownik root systemu Linux, a do drugiej jako użytkownik inny niż root z dostępem do mysqlpolecenia.
W sesji root zatrzymaj normalny odbiornik mysqld i uruchom odbiornik, który omija uwierzytelnianie hasła ( uwaga: jest to poważne zagrożenie bezpieczeństwa, ponieważ każdy, kto ma dostęp do mysql
polecenia, może uzyskać dostęp do twoich baz danych bez hasła. Możesz chcieć zamknąć aktywne sesje powłoki i / lub wyłącz dostęp do powłoki, zanim to zrobisz):
# systemctl stop mysqld # /usr/sbin/mysqld --skip-grant-tables -u mysql &
W sesji nonroot zaloguj się do mysql i ustaw hasło root mysql:
Rozwiązałem to inaczej, dla niektórych może to być łatwiejsze.
Zrobiłem to w ten sposób, ponieważ próbowałem uruchomić w trybie awaryjnym, ale nie mogę połączyć się z błędem: ERROR 2002 (HY000): Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/var/run/mysqld/mysqld.sock' (2)
To, co zrobiłem, to połączyć się normalnie jako root:
Odpowiedzi:
dzięki @thusharaK mogłem zresetować hasło roota bez znajomości starego hasła.
Na Ubuntu wykonałem następujące czynności:
Następnie uruchom mysql w nowym terminalu:
I uruchom następujące zapytania, aby zmienić hasło:
W MySQL 5.7 pole hasła w tabeli mysql.user zostało usunięte, teraz nazwa pola to „authentication_string”.
Zamknij tryb bezpieczny mysql i uruchom usługę mysql przez:
źródło
mysqladmin -u root -p shutdown
, z nowym hasłem.mysql -u root
. Pokazuje błądAccess denied
Nie możesz wyświetlić zaszyfrowanego hasła; jedyne, co możesz zrobić, to zresetować!
Zatrzymaj MySQL:
lub
Uruchom w trybie awaryjnym:
(powyższa linia to cała komenda)
Będzie to ciągłe polecenie, dopóki proces nie zostanie zakończony, więc otwórz kolejne okno powłoki / terminala, zaloguj się bez hasła:
MySQL 5.7 i nowsze:
Uruchom MySQL:
lub
Twoje nowe hasło to „hasło”.
źródło
mysql_secure_installation
a root przestał współpracować. Co robiauthentication_string
ustawienie?mysqladmin -u root -p shutdown
z nowym hasłemsudo service mysql start
MySQL 5.7 i nowsze wersje zapisują root w pliku dziennika MySQL.
Spróbuj tego:
źródło
/var/log/mysql/error.log
zawierało ostrzeżenie o pustym haśle roota - więc ten rodzaj uratował mi dzień :)jedna rzecz, która mnie zaskoczyła przy nowej instalacji mySQL i zastanawiam się, dlaczego nie mogłem uruchomić domyślnego hasła i dlaczego nawet metody resetowania nie działają. dobrze się okazuje, że w Ubuntu 18 najnowsza wersja serwera mysql domyślnie w ogóle nie używa uwierzytelniania hasłem dla użytkownika root. Oznacza to, że nie ma znaczenia, na co go ustawisz, nie pozwoli ci go użyć. oczekuje, że zalogujesz się z uprzywilejowanego gniazda. więc
nie będzie działać w ogóle, nawet jeśli używasz poprawnego hasła !!! odmówi dostępu bez względu na to, co wprowadzisz.
Zamiast tego musisz użyć
to zadziała bez hasła. wtedy, gdy już jesteś, musisz wpisać
wyloguj się i teraz ta cholerna rzecz w końcu zaakceptuje twoje hasło
źródło
Nie możesz tego znaleźć. Jest przechowywany w bazie danych, do której potrzebujesz hasła roota, aby uzyskać dostęp, a nawet jeśli w jakiś sposób uzyskałeś dostęp, jest zaszyfrowany za pomocą jednokierunkowego skrótu. Możesz go zresetować: http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
źródło
Wykonaj poniższe czynności, aby zresetować hasło w systemie Windows
Zatrzymaj usługę MySQL z menedżera zadań
Utwórz plik tekstowy i wklej poniższe oświadczenie
Zapisz jako
mysql-init.txt
i umieść w'C' drive
.Otwórz wiersz polecenia i wklej następujące
C:\> mysqld --init-file=C:\\mysql-init.txt
źródło
mysqld --init-file=/root/m.txt
. Dodałem powyższe polecenieSET PASSWORD FOR 'root'@'localhost' = PASSWORD('yournewpassword');
do /root/m.txtO ile menedżer pakietów nie zażąda wpisania hasła roota podczas instalacji, domyślnym hasłem root jest pusty ciąg. Aby połączyć się ze świeżo zainstalowanym serwerem, wpisz:
Aby zmienić hasło, odzyskaj powłokę unixa i wpisz:
Nowe hasło to „root”. Teraz połącz się z serwerem:
Ups, hasło się zmieniło. Użyj nowego
root
:Bingo! Nowy zrób coś ciekawego
Maurycy
źródło
Oprócz innych odpowiedzi, w instalacji cpanel, hasło root mysql jest przechowywane w pliku o nazwie
/root/.my.cnf
. (a usługa cpanel resetuje ją z powrotem po zmianie, więc inne odpowiedzi tutaj nie pomogą)źródło
możesz wyświetlić hasło root mysql, cóż, wypróbowałem je na mysql 5.5, więc nie wiem, czy inne nowe wersje działają dobrze, czy nie
źródło
To zadziałało dla mnie:
Na terminalu wpisz następujące
$ sudo mysql -u root -p
Wpisz hasło: // po prostu naciśnij enter
mysql>
źródło
Domyślne hasło, które działało u mnie po natychmiastowej instalacji serwera mysql to:
mysql
źródło
Procedura zmienia się w zależności od wersji MySql. Postępuj zgodnie z procedurą dokładnie opisaną dla Twojej wersji:
WSKAZÓWKI - Przeczytaj przed stroną z instrukcjami dla Twojej wersji MySql *
W kroku 5: Zamiast uruchamiać CMD, utwórz na pulpicie skrót wywołujący CDM.exe. Następnie kliknij prawym przyciskiem myszy skrót i wybierz „Wykonaj jako administrator”.
W kroku 6: Pomiń pierwszą proponowaną wersję polecenia i wykonaj drugą, tę z parametrem --defaults-file
Po wykonaniu polecenia, jeśli wszystko jest w porządku, okno CMD pozostaje otwarte, a polecenie z kroku 6 kontynuuje wykonywanie. Po prostu zamknij okno (kliknij „x”), a następnie wymuś zamknięcie MySQl z Menedżera zadań.
Usuń plik za pomocą poleceń SQL i uruchom ponownie MySQL. Hasło należy teraz zmienić.
5.0 http://dev.mysql.com/doc/refman/5.0/en/resetting-permissions.html
5.1 http://dev.mysql.com/doc/refman/5.1/en/resetting-permissions.html
... po prostu zmień wersję w linku (5.5, 5.6, 5.7)
źródło
W pliku „nazwa hosta” .err w folderze danych, na którym działa MySQL, spróbuj poszukać ciągu zaczynającego się od:
„Generowane jest hasło tymczasowe dla roor @ localhost”
możesz użyć
następnie ukośnik polecenie, a następnie ciąg, którego chcesz szukać
Następnie naciśnij n, aby przejść do następnego wyniku.
źródło
Udzielone tutaj odpowiedzi wydawały się nie działać, ale sztuczka okazała się następująca: ALTER USER 'root' @ 'localhost' ZIDENTYFIKOWANY PRZEZ mysql_native_password BY 'test';
(pełna odpowiedź tutaj: https://www.percona.com/blog/2016/03/16/change-user-password-in-mysql-5-7-with-plugin-auth_socket/ )
źródło
System:
Procedura:
Otwórz dwie sesje powłoki, logując się do jednej jako użytkownik root systemu Linux, a do drugiej jako użytkownik inny niż root z dostępem do
mysql
polecenia.W sesji root zatrzymaj normalny odbiornik mysqld i uruchom odbiornik, który omija uwierzytelnianie hasła ( uwaga: jest to poważne zagrożenie bezpieczeństwa, ponieważ każdy, kto ma dostęp do
mysql
polecenia, może uzyskać dostęp do twoich baz danych bez hasła. Możesz chcieć zamknąć aktywne sesje powłoki i / lub wyłącz dostęp do powłoki, zanim to zrobisz):# systemctl stop mysqld
# /usr/sbin/mysqld --skip-grant-tables -u mysql &
W sesji nonroot zaloguj się do mysql i ustaw hasło root mysql:
$ mysql
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
mysql> SET PASSWORD FOR 'root'@'localhost' = PASSWORD('MyNewPass');
Query OK, 0 rows affected, 1 warning (0.01 sec)
mysql> quit;
W sesji root zabij instancję mysqld bez hasła i przywróć normalny odbiornik mysqld do usługi:
# kill %1
# systemctl start mysqld
W sesji użytkownika innego niż root przetestuj nowe hasło roota skonfigurowane powyżej:
$ mysql -u root -p
Enter password:
Welcome to the MySQL monitor. Commands end with ; or \g.
...
mysql>
źródło
Rozwiązałem to inaczej, dla niektórych może to być łatwiejsze.
Zrobiłem to w ten sposób, ponieważ próbowałem uruchomić w trybie awaryjnym, ale nie mogę połączyć się z błędem: ERROR 2002 (HY000): Nie można połączyć się z lokalnym serwerem MySQL przez gniazdo '/var/run/mysqld/mysqld.sock' (2)
To, co zrobiłem, to połączyć się normalnie jako root:
Następnie utworzyłem nowego superużytkownika:
Następnie zaloguj się jako myuser
Próba zmiany hasła nie dała mi żadnych błędów, ale nic nie zrobiła, więc porzuciłem i ponownie utworzyłem użytkownika root
Użytkownik root pracuje teraz z nowym hasłem
źródło
Idź do phpMyAdmin> config.inc.php> $ cfg ['Servers'] [$ i] ['password'] = '';
źródło
phpmyadmin
.