Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)
szaleq
post
Post #1





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 22.08.2009

Ostrzeżenie: (0%)
-----


Witam

Na wstępie zaznaczę, że przeczytałem kilkanaście tematów dotyczących tego błędu na tym forum, oraz kilkanaście anglojęzycznych artykułów znalezionych w google. Żadne rozwiązania nie zadziałały w moim przypadku.

Mam Apache2 oraz php5 na ubuntu 12.04. Od dawna wszystko działało bez zarzutu, aż kilka dni temu pojawił się błąd:
Kod
mysqli::mysqli(): (HY000/2002): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (2)

po przeinstalowaniu mysql-server błąd zniknął, lecz po ponownym uruchomieniu komputera pojawił się znów. Kolejne próby reinstalacji nie przyniosły już rezultatów.
Dodam, że nie mam dostępu do bazy również z konsoli, zdaje się że mysql w ogóle nie startuje (próba wywołania w konsoli 'service mysql start' zwraca komnikat: 'start: Job failed to start', a polecenie 'mysql -u root -p' po zalogowaniu użytkownika zwraca ten sam komunikat błędu, co w temacie).

Jeśli ktoś wie z czego może to wynikać, bardzo proszę o pomoc. Nie wiem czy napisałem wystarczająco dużo informacji o problemie, jeśli coś jeszcze jest istotne powiedzcie, co napisać.

Pozdrawiam
szaleq
Go to the top of the page
+Quote Post
erix
post
Post #2





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A demon MySQL w ogóle startuje?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
webdice
post
Post #3


Developer


Grupa: Moderatorzy
Postów: 3 045
Pomógł: 290
Dołączył: 20.01.2007




W większości przypadków problem leży w nieprawidłowym zdefiniowaniu ścieżki do mysqld.sock.
Go to the top of the page
+Quote Post
redeemer
post
Post #4





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Sprawdź logi mysql dlaczego nie startuje.


--------------------
Go to the top of the page
+Quote Post
szaleq
post
Post #5





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 22.08.2009

Ostrzeżenie: (0%)
-----


W logach mysql nic nie ma. W syslog pojawia się wpis:
Kod
Aug 13 18:22:58 nazwa-komputera kernel: [  675.549843] init: mysql pre-start process (3117) terminated with status 1

@webdice, tak właśnie myślałem. Jednak na moim komputerze w ogóle nie istnieje taki plik.
Go to the top of the page
+Quote Post
erix
post
Post #6





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




A próbowałeś na czystej bazie instalować MySQL?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
redeemer
post
Post #7





Grupa: Zarejestrowani
Postów: 915
Pomógł: 210
Dołączył: 8.09.2009
Skąd: Tomaszów Lubelski/Wrocław

Ostrzeżenie: (0%)
-----


Nie istnieje taki plik (/var/run/mysqld/mysqld.sock), bo serwer nie startuje. Masz plik konfiguracyjny /etc/mysql/my.cnf?

Ten post edytował redeemer 14.08.2012, 10:22:06


--------------------
Go to the top of the page
+Quote Post
szaleq
post
Post #8





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 22.08.2009

Ostrzeżenie: (0%)
-----


Tak, mam my.cnf.
Poczytałem więcej o socketach, wiem już że te pliki powstają podczas startu demona.
Trafiłem również na porady, w których mówiono o prawach dostępu do folderu w którym ma być socket. Ustawiałem wszystko zgodnie z tymi instrukcjami jednak to też nie pomaga. Były również porady, by zmienić w my.conf ścieżkę socketu na /tmp/mysql.sock jednak to też nie pomogło.
Nie próbowałem instalować od nowa bo nie mam "czystej bazy", ale właśnie sciągam instalkę ubuntu i spróbuję postawić od nowa.
Mimo to chciałbym naprawdę dojść do sedna i wyjaśnić co się stało więc bieżącej instalacji nie ruszam. Dodam, że do tej pory używałem mysql tylko od strony "klienta", nie bawiąc się żadnymi configami i dopiero teraz zaczynam powoli poznawać działanie samego servera mysql. Tak więc będę wdzięczny za wszelkie dalsze wskazówki.

P.S. czy istnieje jakaś sposób, by na nowej instalacji mysql odczytać pliki bazy z poprzedniej instalacji?

Pozdrawiam
szaleq

Witam

Jak mówiłem, zainstalowałem od nowa ubuntu, na czysto postawiłem mysql i niby wszystko grało... ale do czasu. W tej chwili server normalnie startuje, wszystko działa bez zarzutu prócz jednej bazy. Podczas próby wyświetlenia tabel tej bazy w phpmyadmin zostałem wylogowany. Spróbowałem więc przez konsolę. Po wybraniu bazy wszystko jest ok, ale gdy próbuję zrobić dowolną operację (np prostu select) otrzymuję błąd:
Kod
ERROR 2006 (HY000): MySQL server has gone away
No connection. Trying to reconnect...
ERROR 2002 (HY000): Can't connect to local MySQL server through socket '/var/run/mysqld/mysqld.sock' (111)
ERROR:
Can't connect to the server


Wywołanie check table dla wszystkich tabel tej bazy zwraca 'ok'.
Wysnuwam jeden wniosek (choć może się mylę...) że coś nie tak ze strukturą mojej bazy (czy możliwe, że również to było przyczyną że na poprzedniej instalacji serwer całkiem się nie uruchamiał?), ale na nowej instalacji wszystkie tabele były definiowane od nowa. I z początku wszystko działało bez zarzutu... Jeśli ktoś może coś na ten temat powiedzieć, będę wdzięczny za wszelkie wskazówki/informacje.

Pozdrawiam
szaleq
Go to the top of the page
+Quote Post
erix
post
Post #9





Grupa: Moderatorzy
Postów: 15 467
Pomógł: 1451
Dołączył: 25.04.2005
Skąd: Szczebrzeszyn/Rzeszów




Mogło być tak, że baza została uwalona.

Tabele były definiowane od nowa - to znaczy?


--------------------

ZCE :: Pisząc PW załączaj LINK DO TEMATU i TYLKO w sprawach moderacji :: jakiś błąd - a TREŚĆ BŁĘDU? :: nie ponaglaj z odpowiedzią via PW!
Go to the top of the page
+Quote Post
szaleq
post
Post #10





Grupa: Zarejestrowani
Postów: 18
Pomógł: 0
Dołączył: 22.08.2009

Ostrzeżenie: (0%)
-----


Cytat(erix @ 20.08.2012, 11:17:35 ) *
Mogło być tak, że baza została uwalona.

Tabele były definiowane od nowa - to znaczy?


To znaczy, że na czystej instalacji mysql utworzyłem wszystkie tabele "z palca", nie importując nic, nie wgrywając żadnych danych z poprzedniej bazy.

Żeby było ciekawiej, założyłem wszystkie tabele jeszcze raz, tym razem bez prefixu i jak dotąd działa... Wcześniej wszystkie tabele miały prefix 'img_'. Gdy próbowałem np utworzyć tabelę img_users przez phpmyadmin otrzymywałem błąd, że nie można utworzyć tabeli, ponieważ taka tabela nie istnieje (!?) jednak gdy takie same tabele utworzyłem z terminala, wszystko poszło gładko. Ale potem właśnie się wywaliło.

Wniosek: coś nie tak z tym moim prefixem. Czy to możliwe, że nazwy tabel rozwalają mi bazę? (a konkretnie prefix "img_"...) Nie znam się na działaniu mysql, ale na zdrowy rozum - co za różnica czy tabela nazywa się "users", czy "img_users"? "config", czy "img_config"? Jeśli ktoś coś wie na ten temat, będę wdzięczny za informacje.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Aktualny czas: 19.08.2025 - 17:02