PDA

Archiv verlassen und diese Seite im Standarddesign anzeigen : Ein Problem mit "mysql.sock" und dem Pfad dahin



Gutschy
27-02-2004, 19:58
Hi,

wenn ich von einer PHP Seite auf meinem Rechner auf mein MySQL zugreifen möchte kommt folgende Fehlermeldung.


Warning: mysql_connect(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) in /usr/local/httpd/htdocs/verbind.php on line 3

Warning: mysql_db_query(): Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111) in /usr/local/httpd/htdocs/funk.php on line 5

Warning: mysql_db_query(): A link to the server could not be established in /usr/local/httpd/htdocs/funk.php on line 5
Can't connect to local MySQL server through socket '/tmp/mysql.sock' (111)

Ich hab mir jetzt mal zusammengereimt das der Client den Server auf dem Falschen Pfad vermutet.

Wenn ich in der bash "mysqladmin version" aufrufe kommt unter anderem diese Meldung:

Server version 4.0.17-Max
Protocol version 10
Connection Localhost via UNIX socket
UNIX socket /var/lib/mysql/mysql.sock
Uptime: 1 hour 26 min 19 sec


Klar das die beiden Socket Pfade nicht so ganz zusammenpassen, bin das leider noch nicht hintergestiegen wo ich die verändern kann, ich nehme mal einfach an das es am leichtesten beim Client geht. Aber da ich natürlich von Linux immer noch nicht die Ahnung habe...

Das anlegen eines Symlinks hat auch nichts gebracht bzw. der war schon angelegt worden vom Programm

Bei MySQL.com gibt es dazu die beiden Links.

http://www.mysql.com/doc/de/Problems_with_mysql.sock.html

http://www.mysql.com/doc/de/Option_files.html

Gerade beim letzt Link wird beschrieben das man einfach eine "my.cnf" Datei anlegen soll, darin die Pfade und fertig. Sorry wenn ich so blöd Frage, aber wollen die das so wie mir das gerade vorstell, einfach die Datei anlegen und fertig...???

Ach ja, vielleicht noch wichtig, oder wahrscheinlich sehr... bei "ps" wird kein MySQL Prozess angezeigt und der MySQLdämon stirbt auch gleich:

linux:/home/user # mysqld
040218 0:23:45 Can't start server: Bind on TCP/IP port: Address already in use
040218 0:23:45 Do you already have another mysqld server running on port: 3306 ?
040218 0:23:45 Aborting

040218 0:23:45 mysqld: Shutdown Complete

Nur warum kann ich dann über den MySQL Monitor auf meine Datenbank zugreifen . Na ja, hoffe es sind nicht gleich zu viele Fragen und ihr könnt mich ein wenig erhellen.


Hier noch mal die Quelltexte der "funk.php" und "verbind.php"




verbind.php

<?
/* Zugangsdaten zum Verbinden mit dem MYSQL-Server */
$link=mysql_connect("localhost","root","9zeichen");
//Auswahl der zu verwendenden Datenbank auf dem Server
$db ="store";
?>

funk.php

<?
/*Funktionen für eine einfache Datenbank-Schnittstelle */
function send_sql($db, $sql)
{
if (! $res=mysql_db_query($db, $sql)) {
echo mysql_error();
exit;
}
return $res;
}
?>

Spärbähr
27-02-2004, 20:07
Hi!

Also das Problem hatte ich auch.
Ich habe einfach von "/var/lib/mysql/mysql.sock" einen Symlink zu "/tmp/mysql.sock" gelegt, danach ging es ohne Probleme.

Ich glaube bei der ./configure vor der Kompilierung kann man das auch einstellen - schau einfach mal ;)

Berufspenner
27-02-2004, 20:27
Hi@all

Wenn ihr auf www.linuxforen.de , unserem Schwesterform, die Suchfunktion danach befragt werdet ihr überhäuft von Threads und Lösungen zu dem Thema.

Cu
André