Toon posts:

[MYSQL] php vind socket niet

Pagina: 1
Acties:

Verwijderd

Topicstarter
Beste Tweakers,

Sinds vanmiddag is er een fout geslopen in onze webserver. De hele mysql sectie was gecrashed en is er daarna ook niet meer bovenop gekomen. We hebben de mysql server opnieuw geïnstalleerd en sindsdien loopt communicatie met php tegen de volgende foutmelding aan.

code:
1
Can't connect to local MySQL server through socket '/tmp/mysql.sock'


Nou zul je je afvragen bestaat dat bestand dan wel. Hier dachten wij ook aan dus dit hebben we getest.

code:
1
2
3
4
5
6
7
8
9
10
11
12
./mysqladmin  Ver 8.41 Distrib 4.1.10, for pc-linux-gnu on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version          4.1.10
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /etc/mysql.sock
Uptime:                 8 min 21 sec

Threads: 1  Questions: 2  Slow queries: 0  Opens: 0  Flush tables: 2  Open tables: 0  Queries per second avg: 0.004


Het bestand draait en intern zijn er helemaal geen problemen om connectie te maken. Alleen de php scripts komen er niet door.

Heeft iemand een mogelijke oplossing voor dit probleem?

code:
1
2
3
4
5
6
7
8
9
10
CentOS 3.0

mysql  Ver 11.18 Distrib 3.23.58, for redhat-linux-gnu (i686)

Server version: Apache/2.0.53
Server built:   Mar 10 2005 19:57:02

PHP 4.3.10 (cli) (built: Apr 28 2005 00:04:49)
Copyright (c) 1997-2004 The PHP Group
Zend Engine v1.3.0, Copyright (c) 1998-2004 Zend Technologies

[ Voor 12% gewijzigd door Verwijderd op 27-04-2005 23:49 ]


Verwijderd

Dan moet je in je host het volgende opgeven:

code:
1
localhost:/etc/mysql.sock

[ Voor 72% gewijzigd door Verwijderd op 27-04-2005 23:58 ]


Verwijderd

Topicstarter
Oeps |:( zijn allebei 3 lettertjes he. Overheen gelezen. Maar ik heb het systeem bijgesteld naar /tmp/

code:
1
2
3
4
5
6
7
8
9
10
11
12
./mysqladmin  Ver 8.41 Distrib 4.1.10, for pc-linux-gnu on i686
Copyright (C) 2000 MySQL AB & MySQL Finland AB & TCX DataKonsult AB
This software comes with ABSOLUTELY NO WARRANTY. This is free software,
and you are welcome to modify and redistribute it under the GPL license

Server version          4.1.10
Protocol version        10
Connection              Localhost via UNIX socket
UNIX socket             /tmp/mysql.sock
Uptime:                 41 sec

Threads: 1  Questions: 1  Slow queries: 0  Opens: 11  Flush tables: 1  Open tables: 0  Queries per second avg: 0.024


Maar ik blijf dezelfde foutmelding houden...
----------------
Verwijderd schreef op woensdag 27 april 2005 @ 23:48:
Dan moet je in je host het volgende opgeven:

code:
1
localhost:/etc/mysql.sock
In mijn host? Sorry je bent me even kwijt.

[ Voor 16% gewijzigd door Verwijderd op 27-04-2005 23:59 ]


Verwijderd

Sorry, dat was misschien niet de meest duidelijke manier om het te verwoorden.

Je kunt in je php verbindingsstring opgeven welke socks file je wilt gebruiken. In je mysql_connect($host, ...); moet je dus als $host "localhost:/etc/mysql.sock" neerzetten.

Dat is de snelle manier om php je goede socks file te laten gebruiken.

Maar als het je blijkbaar gelukt is om mysqld een ander socks bestand te laten gebruiken, gaat dit natuurlijk niet werken.

Verwijderd

Topicstarter
Het probleem is opgelost. Volgens mij was het antwoord al gevonden met dat ik etc ipv tmp had gelezen.

Dat hij het niet deed volgens mij was te wijten aan de de apache server niet correct geherconfiureerd was.

Bedankt voor je hulp :)

Even getest, toch het tweede. Het extra regeltje acher de host instructie doet het hem ;)

[ Voor 17% gewijzigd door Verwijderd op 28-04-2005 00:18 ]