[+] zmiana has

Konfiguracja serwerów, usług, itp.
lestek
Posty: 5
Rejestracja: 22 września 2009, 20:57

[+] zmiana hasła dla uŻytkownika root - baza mysql

Post autor: lestek »

Witam.

Kilka dni temu chciałem uruchomić bazę mysql zdalnie. Po przejrzeniu paru artykułów w Google w końcu mi się udało. Wtedy zaczął się mój horror. Nie mogłem zrestartować mysqla, pojawiły się problemy z użytkownikiem:

Kod: Zaznacz cały

debian-sys-maint'@'localhost
który na szczęście udało mi się pokonać.
Problem polega na tym, że nie mogę zmienić hasła dla roota. Wciąż dostaję informację:

Kod: Zaznacz cały

Access denied for user 'root'@'localhost' (using password: YES)
Próbowałem zastosować dwie metody:

Kod: Zaznacz cały

mysqld_safe --skip-grant-tables &
oraz:

Kod: Zaznacz cały

dpkg-reconfigure mysql-server-5.0
ale nadal nie mogę się zalogować na hasło jakie zmieniłem. Wcześniej stosowałem 1 metodę, po której wszystko dalej działało -- teraz to nie pomaga.
Jakieś sugestie?

Pozdrawiam.
Awatar użytkownika
michnik
Beginner
Posty: 162
Rejestracja: 20 lipca 2009, 12:54
Lokalizacja: Kraków

Post autor: michnik »

Jak próbujesz zalogować się do bazy?

Używasz:

Kod: Zaznacz cały

 mysql -u nazwaużytkownika -p 
lestek
Posty: 5
Rejestracja: 22 września 2009, 20:57

Post autor: lestek »

Tak, dokładnie w taki sposób się loguję do bazy.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

Tzn. uruchamiasz MySQL'a z przełącznikiem

Kod: Zaznacz cały

--skip-grant-tables
a potem logujesz się za pomocą

Kod: Zaznacz cały

mysql -u root -p
Dobrze zrozumiałem? Jeśli tak, to musisz zalogować się bez podawania hasła, za pomocą

Kod: Zaznacz cały

mysql -u root
Zmieniasz hasło root'a i uruchamiasz ponownie MySQL'a.
PiotrSz
Posty: 12
Rejestracja: 20 lipca 2009, 10:38

Post autor: PiotrSz »

U mnie zadziałał sposób opisany >tu<.
lestek
Posty: 5
Rejestracja: 22 września 2009, 20:57

Post autor: lestek »

Oj chłopaki to też stosowałem, ale dziękuję za zainteresowanie. Tak czy siak przed chwilą mi się udało.
Zrobiłem to jednak w następujący sposób:
  1. Uruchomiłem mysql poprzez:

    Kod: Zaznacz cały

    mysqld_safe --skip-grant-tables &
  2. Uruchomiłem phpMyAdmina i z tabeli ,,user'' usunąłem dwóch użytkowników root.
  3. Następnie z palca dodałem nowego użytkownika root, ustawiłem mu prawa na Y (Yes).
  4. Uruchomiłem ponownie serwer mysql i bez problemu zalogowałem się komendą:

    Kod: Zaznacz cały

    mysql -u root -p
Nadal nie wiem czemu tak się działo. Możliwe, że przez te dwa konta root.
PiotrSz
Posty: 12
Rejestracja: 20 lipca 2009, 10:38

Post autor: PiotrSz »

Pytaniem nie jest dlaczego nie działało, tu sprawa jest jasna zduplikowana nazwa konta, ale jak udało Ci się stworzyć dwa konta root? Myślę, że to jest jakiś błąd, na pewno warto to zgłosić na stronie Raporty błędów mySQL.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

PiotrSz pisze:ale jak udało Ci się stworzyć 2 konta root? Myśle że to jest jakiś bug
A ja mam 3 "root'ów"

Kod: Zaznacz cały

mysql> select Host, User from user where user='root'\G
*************************** 1. row ***************************
Host: 127.0.0.1
User: root
*************************** 2. row ***************************
Host: krogulec.xxxxx
User: root
*************************** 3. row ***************************
Host: localhost
User: root
3 rows in set (0.00 sec)
Wszystko działa prawidłowo. Czemu niby to ma być bug? Zauważ że wpisy różnią się wartością Host - definiując hosty z których dany user może się łączyć, dodawane są odpowiednie wpisy w tabeli mysql.user. Nic w tym dziwnego. Użytkownik root jest jeden, a to że rekordów w tabelce jest więcej o niczym nie świadczy.
PiotrSz
Posty: 12
Rejestracja: 20 lipca 2009, 10:38

Post autor: PiotrSz »

lessmian2 pisze:Użytkownik root jest jeden, a to że rekordów w tabelce jest więcej o niczym nie świadczy.
lestek pisze:Nadal nie wiem czemu tak się działo. Możliwe, że przez te dwa konta root.
No więc albo to semantyka, albo mówimy o dwóch różnych rzeczach. Mnie chodziło o to, że nie można stworzyć dwóch kont root, a nie o to że możesz jednemu kontu nadać możliwość logowania do bazy na różnych hostach.
Awatar użytkownika
lessmian2
Member
Posty: 1088
Rejestracja: 30 kwietnia 2008, 19:38
Lokalizacja: Kraków

Post autor: lessmian2 »

PiotrSz pisze:Mnie chodziło o to że nie można stworzyć dwóch kont root
Zgadzam się z Tobą. Jednak wydaje mi się że lestek pisząc o dwóch użytkownikach root miał na myśli właśnie dwa rekordy które są domyślnie - jeden dla localhost i drugi dla 127.0.0.1. Niestety nie zamieścił logów, które mogły by rozjaśnić sprawę. W każdym razie ważne jest to, że udało mu się rozwiązać problem.
ODPOWIEDZ