2012-04-25 11 views
7

Zainstalowałem MySQL i grałem z ustawieniami hasła, próbując uzyskać połączenie z Wordpress. Czyniąc to, wydaje mi się, że zakodowałem moje hasło roota i teraz nie mogę się zalogować.Nie można uruchomić mysqld_safe w celu zresetowania hasła roota

Próbuję zresetować hasło, uruchamiając

/etc/init.d/mysqld stop 

Następnie

mysqld_safe --skip-grant-tables 

które wyjścia

Starting mysql daemon with databases from /var/lib/mysql 

Ale wtedy nic nie robi. Nie udaje się ani nie zawodzi. Nie mam żadnych ustawień baz danych, więc z chęcią usunę i w razie potrzeby zainstaluję mysql, ale spróbowałem bezskutecznie. Jak mogę wrócić?

+0

Po ponownym zainstalowaniu hasło powinno zniknąć i powinno być możliwe uzyskanie do niego dostępu. – CoffeeRain

+0

Dokładnie to, co zrobiłem ... uderz młotkiem. – jcpeden

Odpowiedz

13

mysqld_safe to polecenie uruchomienia silnika mysql. Po linii nie powinno się nic pokazywać ani pokazywać, że uruchomiono mysql. Po uruchomieniu mysqld_safe, następnym krokiem jest uruchomienie mysql. Ponieważ uruchomiłeś mysqld z --skip-grant-tables, nie musisz określać nazwy użytkownika ani hasła.

Następnie można wydać polecenie resetowania hasła root. Aby uzyskać instrukcje ustawiania hasła, zobacz http://dev.mysql.com/doc/refman/5.0/en/set-password.html.

+0

To nie pozwalało mi wprowadzać niczego innego, system po prostu zawiesiłby się. – jcpeden

+0

Czy cały system zwisa? Czy po prostu masz na myśli to, że terminal, który wpisałeś 'mysqld_safe', nie zrobił nic? Tak właśnie powinno się stać. Musisz otworzyć nowy terminal, a następnie uruchomić 'mysql'. – octern

+0

Dzięki za wyjaśnienie tego jaśniej! – jcpeden

2

wypróbowałeś "mysqld --skip-grant-tables" zamiast mysqld_safe? upewnij się, że zabiłeś wszystkie wątki mysqld, które nie umarły przed uruchomieniem tabel mysqld --skip-grant. Zrób ps -ef i grep dla mysql, kill -9 jakikolwiek proces mysql, następnie uruchom go --skip-grant-tables.

+0

Nie próbowałem uruchamiać go z trybu awaryjnego i próbowałem zabić jakiekolwiek procesy, ale nie mogłem znaleźć nic do zabicia, jestem prawie pewien, że proces już się rozpoczął, a system nie lubił to znowu. Po prostu mylące, że nie było komunikatu o błędzie. – jcpeden

+0

robi dziennik mysqld_safe wszystko w pliku error.log lub wiadomości? Czy istnieje proces mysqld uruchomiony po uruchomieniu go w trybie awaryjnym lub przy pomocy --skip-grant-tables? jeśli masz pyski mysqld, co pokazuje strace? – MichaelN

Powiązane problemy