Freesco, NND, CDN, EOS http://forum.freesco.pl/ |
|
Serwer MySQL: problem z uprawnieniami użytkowników http://forum.freesco.pl/viewtopic.php?f=22&t=15603 |
Strona 1 z 1 |
Autor: | za017 [ środa, 4 lipca 2007, 08:49 ] |
Tytuł: | Serwer MySQL: problem z uprawnieniami użytkowników |
Witam! Kolejny problem, którego nie udało mi się rozwiązać :[. Mam zainstalowane NND-0.2.2 z najnowszego obrazu a na nim mysql z paczki 5.0.24a-3nnd. Po ustawieniu hasła root'a dodałem sobie użytkownika: grant select, insert, update, delete, create, drop, alter, index on my_db.* to my_user identified by 'my_password'; Po czym wylogowałem się z root'a i zalogowałem ponownie jako my_user. Wszystko było na pozór prawidłowo, jednak po restarcie całego systemu, nie mogłem się już zalogować jako zwykły user a tylko jak root. Sprawdziłem w tabeli user bazy danych mysql, że mój użytkownik ma wszystkie przywileje ustawione na N. Więc ponownie wykonałem polecenie grant (j.w.) i po sprawdzeniu okazało się, że zawartość tabeli user nie zmieniła się. Spróbowałem więc ręcznie ustawić dowolny przywilej za pomocą update. Serwer zwrócił wynik query OK 1 rows, lecz po wylistowaniu tego rekordu wartość tego pola nadal była ustawiona na N. Nie mogąc sobie z tym poradzić, zatrzymałem demona mysqld, usunąłem katalog /var/lib/mysql i ponownie wystartowałem /etc/rc.d/mysqld start. Serwer wystartował, ustawiłem hasło root'a: /usr/bin/mysqadmin -u root password 'moje_hasło' wykonało się bez zgłaszania błędów. Jednak teraz nie mogę się zalogować nawet na root'a. Próbowałem zarówno z localhosta jak i z hp60 (nazwa hosta) [root@hp60 lib]# mysql -u root -h localhost -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'localhost' (using password: YES) [root@hp60 lib]# mysql -u root -h hp60 -p Enter password: ERROR 1045 (28000): Access denied for user 'root'@'hp60' (using password: YES) W tabeli user bazy danych mysql root miał ustawione prawa do logowanie się zarówno z localhosta jak i z hp60, natomiast my_user mógł logować się z dowolnego hosta (w polu HOST rekordu 'my_user' wpisałem wartość '%') - oczywiście są to ustawienia, które wprowadziłem na samym początku, gdy jeszcze wszystko wydawało się działać prawidłowo. Usunąłem też płotek z opcji skip-networking pliku my_cnf, niemniej na razie loguję się tylko z localhosta . Czy przyczyną tych problemów mogą być np. błędne ustawienia sieci ? W pliku /etc/hosts mam: Dodałem też (zgodnie z sugestią wyszukaną na tym forum) wpis do /etc/hosts.allow: Cytuj: mysqld:ALL Nazwa mojego hosta /etc/HOSTNAME: |
Autor: | TheL [ środa, 4 lipca 2007, 09:04 ] |
Tytuł: | |
najprosciej bedzie odinstalowac mysql i zrobic to jeszcze raz, sprawdz czy wtedy rootem mozesz dodawac cos do bazy jakas tabele itp i dopiero wtedy zrob usera (najszybciej phpmyadminem) |
Autor: | za017 [ środa, 4 lipca 2007, 09:24 ] |
Tytuł: | |
Już to zrobiłem za pomocą nndpkg. Odinstalowałem mysql, ale po ponownym zainstalowaniu sytuacja była dokładnie taka sama: po ustawieniu hasła root nie mogłem się już zalogować nawet na to konto. Dlatego zapytałem o konfigurację sieci: przy pierwszej instalacji serwer działał przez chwilę, przy następnej problemy pojawiają się od razu. Pierwsze podejrzenie - coś w międzyczasie zostało zmienione w konfiguracji. Ale - podkreślam - po przetestowaniu serwera, wyłączyłem komputer, a następnego dnia od razu po jego uruchomieniu pojawiły się problemy. Nie edytowałem absolutnie żadnych ustawień, pomiędzy zatrzymaniem systemu a jego ponownym uruchomieniem. Natomiast wszelkie zmiany w konfiguracji mysql testowałem od razu, restartując demona mysqld, więc nie jest to raczej efekt jakiejś zmiany wprowadzonej w konfiguracji, której bym nie przetestował (zresztą wiele nie zmieniałem). Czy przy odinstalowaniu mysql za pomocą nndpkg nie trzeba ręcznie usuwać żadnych plików ? Niektóre 'automaty' (np. apt) pozostawiają często różne 'śmieci', które trzeba usuwać ręcznie. |
Autor: | TheL [ środa, 4 lipca 2007, 09:26 ] |
Tytuł: | |
same hasla siedza w bazie wiec warto sprawdzic czy nie zostalo cos w /var/lib/mysql |
Autor: | za017 [ środa, 4 lipca 2007, 09:40 ] |
Tytuł: | |
W tej chwili zrobiłem to wszystko jeszcze raz: 1. zatrzymałem mysqld 2. odinstalowałem mysql za pomocą nndpkg 3. usunąłem katalog /var/lib/mysql 4. zainstalowałem mysql za pomocą nndpkg 5. uruchomiłem demona /etc/rc.d/mysqld start 6. ustawiłem hasło root'a 7. zalogowałem się jako root i dodałem przywileje userowi (dokładnie tak, jak to opisałem w pierwszym poście). Jednak użytkownik dalej nie może się zalogować. W tabeli user w rekordzie związanym z tym użytkownikiem pole host ma wartość '%'. Ponadto wszystkie przywileje ustawione są na 'N', mimo nadania tych ośmiu przywilejów z pierwszego posta. |
Autor: | TheL [ środa, 4 lipca 2007, 09:47 ] |
Tytuł: | |
robiles to przez konsole czy przez phpmyadmina ? zobacz przez niego wtedy zobaczysz w czym jest problem, a co mowia logi ? |
Autor: | za017 [ środa, 4 lipca 2007, 09:58 ] |
Tytuł: | |
Wszystko robiłem spod konsoli, ponieważ phpmyadmin działał tylko na początku. Teraz też nie może zalogować się do serwera: #1045 - Access denied for user 'pma'@'localhost' (using password: YES) (powyższy komunikat skopiowałem z okna przeglądarki) Oczywiście hasło ustawiłem własne i phpmyadmin działał na początku prawidłowo (do pierwszego restartu systemu). W logach nic nie ma: mysqld.log jest zupełnie pusty pacman.log nie ma informacji o żadnych błędach nie ma również błędów w kernel ani dmesg. |
Autor: | TheL [ środa, 4 lipca 2007, 10:07 ] |
Tytuł: | |
zaloguj sie na phpmyadmina na roota a nie usera |
Autor: | za017 [ środa, 4 lipca 2007, 10:10 ] |
Tytuł: | |
Logowałem się właśnie na root'a, lecz jak widać, to user, z którego korzysta phpmyadmin nie może uzyskać dostępu do bazy danych. PS Ustawiłem w config.ini.php w folderze phpmyadmin controluser=root oraz jego hasło i phpmyadmin uzystał dostęp do bazy danych. Wybrałem bazę danych mysql i ustawiłem Select_priv (tak na próbę) dla my_user. Zmiana została zapamiętana, ale dlaczego nie działa spod monitora mysql, skoro nawet zwraca wynik z którego wynika, że jeden wiersz został dopasowany do zapytania ? |
Autor: | idub [ czwartek, 12 lipca 2007, 09:46 ] |
Tytuł: | |
mam trochę inny problem. Po instalacji mysql dostaję taką informację podczas wprowadzania hasła: Cytuj: /usr/bin/mysqladmin -u root -h serwer password 'haslo'
/usr/bin/mysqladmin: connect to server at 'serwer' failed error: 'Lost connection to MySQL server during query' czy mógłby mi ktoś wytłumaczyć co jest nie tak? |
Strona 1 z 1 | Strefa czasowa UTC+2godz. |
Powered by phpBB® Forum Software © phpBB Group https://www.phpbb.com/ |