Skocz do zawartości
Zaloguj się, aby obserwować  
Mondo90

Problem "No database selected" (VPS)

Polecane posty

@tym super ale może by tak coś o informacjach które moge wyciągnąć z tego wyniku ? Coś co może mi pomóc w rozwiązaniu problemu ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Chłopie - wklej wynik tego polecenia na tym forum w tym temacie. Nie możesz się domyśleć? Daj wjazd na PW to sprawdzę co tam się dzieje.

Edytowano przez tym (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Mogę się domyślić, ale chciałbym wiedzieć co dany wynik zwraca i jak się do tego odnieść, zamiast otrzymac pustą odpowiedź typu wynik jest ok. Bo za pół roku mogę mieć podobny problem i znowu będę zmuszony szukać pomocy po forach a tak nauczę się dany problem rozwiązywać =)

Oto wynik polecenie:

tcp	    0	  0 0.0.0.0:3306			    0.0.0.0:*				   LISTEN	  1617/mysqld

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Sprawdź czy istnieje plik /var/run/mysqld/mysqld.sock

 

Nie taki plik u mnie nie istnieje.

 

@kamikadze, dzieki za odnosniki do źródeł =)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W takim razie źródłem problemu jest zły link do socketu mysqla. Zapewne socket siedzi w /tmp, tak więc daj:

ln -s /tmp/mysqld.sock /var/run/mysqld/mysqld.sock

Edytowano przez tym (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@tym, poleceniem whereis sprawdziłem gdzie jest mysqld.sock i jest on w 2 miejscach:

 

mysqld: /usr/libexec/mysqld   /usr/share/man/man8/mysqld.8.gz

 

Czyli chyba ma być tak :

ln -s /usr/libexec/mysqld /var/run/mysqld/mysqld.sock

 

Dobrze mysle ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

A czy dla ciebie mysqld = mysqld.sock? Bo dla mnie nie.

Wpisz lsof -p 1617 | grep mysqld.sock i wpisz wynik. Wynik poda lokalizację mysqld.sock. Następnie należy zrobić dowiązanie (skrót) tak jak podałem wcześniej (komenda ln -s).

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Fakt, sorry ale od rana siedze nad tym i juz głupieje ;/

 

Polecenie lsof -p 1617 | grep mysqld.sock nie zwraca zadnego wyniku ;/ ?

ALe dlaczego whereis mysqld.sock nie pokazuje lokalizacji mysqld.sock ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bo whereis szuka tylko binarek. Widocznie zmienił się PID procesu... Sorry ale nie chcę się bawić w nauczyciela (późna pora, niedziela, zaraz spać ;)). Jeśli chcesz to sprawdzę co się dzieje i dam znać jak problem został rozwiązany, inaczej niech ktoś inny się z tobą męczy tongue.png

Edytowano przez tym (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Musiałbym dać Ci dostęp do servera a nie jestem jego jedynym właścicielem, możesz napisać jak w takim razie znaleźć mysqld.sock ? I czy problem z instalacją skryptu jest spowodowany przez to na 100 % , bo w sumie inna strona dziala na tym serwerze i takie konfiguracji, zmieniając nie chciałbym tego zepsuć ?

 

Puki co wielkie dzięki za pomoc wink.png

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

To gdzie jest zapisywany mysqld.sock określa się w pliku konfiguracyjnym mysqla czyli my.cnf i jeżeli jest takie samo dla demona i dla klienta to bez problemu powinno działać bez względu gdzie się znajduje a można wysnuć wniosek, że jest takie samo bo z konsoli połączenie z mysql-em dział.

 

Wpisz z do skryptu prawidłowe wartości hosta, usera i hasała i zobacz czy pójdzie wtedy będzie więcej wiadomo gdzie szukać przyczyny ale w mojej ocenie strasznie dużo czasu zajmuje Ci rozwiązanie tego problem więc jak ktoś Ci już poradził zatrudnij kogoś.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Przecież wpisywał i działa, to raz, a dwa że php nie musi łapać prawidłowego socketa (szczegółów nie poznamy bo jego skrypt zwraca tylko jedną wartość).

Wpisz 'ps U mysql' - będzie tam PID.

Następnie wpisz lsof -p PID (ten numer) | grep sock i powinna pojawić się ścieżka do mysqld.sock.

Edytowano przez tym (zobacz historię edycji)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Wynik:

[root@server ~]# lsof -p 1617 | grep sock
mysqld  1617 mysql   12u  unix 0xffff81014666a9c0		   307612190 /var/lib/mysql/mysql.sock

A więc teraz :

ln -s var/lib/mysql/mysql.sock /var/run/mysqld/mysqld.sock

Tak ?

 

Mam nadzieje, ze to nie spowoduje wysypania się strony ktora stoi na tym serwerze ?

 

@regdos, racja ale raz że jestem początkujący dwa ze problem do postych nie nalezy ;]

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Można jeszcze sobie wypluć phpinfo() żeby sprawdzić gdzie php szuka pliku gniazda.

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

W takim razie wina skryptu.

 

No właśnie nie bo na yoyo się zainstalował, zaraz zrobie jeszcze taki test ze wrzuce inny (sprawdzony skrypt na te subdomene i sprobuje sie polonczyc z bd)

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Kurcze pisałem Ci już to raz bo mam wrażenie, że zabierasz się od dupy strony do rozwiązania problemu.

Wpisz w skrypcie w linii

mysql_connect($db_host, $db_user, $db_pass);

zamiast zmiennych właściwe dane i wtedy będziesz od razu wiedział czy to wina skryptu czy nie. Jak się połączy do skrypt jest do wymiany, jak się nie połączy to należy obserwować błędy (najpierw należy włączyć, żeby wypluwał błędy) i wtedy już coś będziesz więcej wiedział np. gdzie jest socket.

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

@regdos jakos nie skumałem wczesniej o co Ci chodziło, ale teraz zrobiłem jak mówiłeś i działa... hmmmmm ale jak to możliwe i czy ma sens pracować na skrypcie przy którym są już takie problemy podczas isbtalacji ;/ ?

Udostępnij ten post


Link to postu
Udostępnij na innych stronach
Gość Kamikadze

Może w skrypcie był jakiś błąd w formularzu czy w zmiennych i tyle...

  • Upvote 1

Udostępnij ten post


Link to postu
Udostępnij na innych stronach

Bądź aktywny! Zaloguj się lub utwórz konto

Tylko zarejestrowani użytkownicy mogą komentować zawartość tej strony

Utwórz konto

Zarejestruj nowe konto, to proste!

Zarejestruj nowe konto

Zaloguj się

Posiadasz własne konto? Użyj go!

Zaloguj się

Zaloguj się, aby obserwować  

×