Warnung: file_put_contents(/home/www/web1/html/php_dev/test.txt) [function.file-put-contents]: failed to open stream: Permission denied in /home/www/web1/html/php_dev/sys/lib.activity.php (Zeile 58)
Mysql-connect -- Problem und keine Lösung [Archiv] - PHP-Scripte PHP-Tutorials PHP-Jobs und vieles mehr

- Ad -
php-resource




Archiv verlassen und diese Seite im Standarddesign anzeigen :
Mysql-connect -- Problem und keine Lösung


 
Cybermarco
15-06-2004, 17:13 
 
Hallo erst mal,

und zwar hab ich folgendes Problem.

so bald ich etwas mehr traffic auf meine site bekommen habe ich
diesen Fehler:

Warning: mysql_connect(): Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111) in /home/marsander/www.campusanuncios.com/index.php on line 10
keine Verbindung möglich: Can't connect to local MySQL server through socket '/var/lib/mysql/mysql.sock' (111)

Der code hierzu:

$link = mysql_connect ("localhost", "user", "pwd")
or die ("keine Verbindung möglich: " .mysql_error());
mysql_select_db("database") or die("Auswahl der Datenbank fehlgeschlagen");
:::::
mysql_close($link);


Folgendes, bei allen Unterseiten meiner Site greife ich auf datensätze
in einer Mysqldatenbank zu. Frage, kann es hier zu problemen kommen
wenn ich ständig und immer wieder alle user (500 Stück zur gleichen zeit) bei jedem Klick auf
datenbanken zugreifen lassen, wenn ja, wie könnte ich das
ganze prob lösen.

Grüsse Markus und danke für eure Antworten

 
wahsaga
15-06-2004, 17:59 
 
Original geschrieben von Cybermarco
so bald ich etwas mehr traffic auf meine site bekommen habe ich diesen Fehler
hmm, seltsam.

dass der DB-server bei zu viel belastung mal nicht mehr mitspielt, ist ja nicht undenkbar.

allerdings hätte ich dann eher eine meldung á la "too many connections" erwartet ...

Frage, kann es hier zu problemen kommen wenn ich ständig und immer wieder alle user (500 Stück zur gleichen zeit) bei jedem Klick auf datenbanken zugreifen lassen,
na ja, durchaus denkbar.
kommt allerdings wohl darauf an, wie viele user gleichzeitig zugreifen (oder meintest du das mit der zahlenangabe 500), wie schnell sie neue seiten aufrufen - und natürlich, wie mächtig dein server ist - shared hosting, oder eigener server, etc.

wenn ja, wie könnte ich das ganze prob lösen.
- überlegen, ob so viele zugriffe wirklich nötig sind, oder ob sich das anders lösen lässt.
- server mit mehr power (*tooltime-grunzer*) anschaffen.
- ...

 
goth
15-06-2004, 18:06 
 
Diese Fehlermeldung kann durchaus auftreten wenn sämtliche Dateihandles in Benutzung sind ... das öffnen eines UNIX-Sockets schlägt dann nämlich fehl ... !

 
Cybermarco
16-06-2004, 01:20 
 
Hallo goth

Original geschrieben von goth
Diese Fehlermeldung kann durchaus auftreten wenn sämtliche Dateihandles in Benutzung sind ... das öffnen eines UNIX-Sockets schlägt dann nämlich fehl ... !

Und was mach ich dagegen?
Gute frage. Hm Mehr handels freigeben oder sind die begrenzt,
zum anderen wie kann ich es bewirken dass weniger Handels
benötigt werden?
Also doch was faul an der mysql abfrage??

Das mit den Verdindungen stimmt, wäre ne andere
Fehlermeldung!! hatte ich auch schon, vergessen
die connection zu schliessen, aber der fall hat sich schon
erledigt.

Danke erst mal

 
goth
16-06-2004, 01:46 
 
Zunächst einmal weiss ich ehrlich gesagt im moment nicht genau wieviele Handles MySQL / Process wirklich benötigt ... kann < 1 sein ... oder auch größer ...

Ich würde allerdings zunächst mal Deine Queries und deren Laufzeitverhalten analysieren ... !

 
fuser
16-06-2004, 08:54 
 
Schau' Dir 'mal die max_connections mit dem SQL SHOW VARIABLES an.
Sind die noch auf 100???

Interessant wäre da noch Max_used_connections mit SHOW STATUS.
Da steht 'drin wieviele effektiv gleichzeitig 'drauf waren.
Wenn Max_used_connections = max_connections ist das Problem klar.

 
Cybermarco
16-06-2004, 09:44 
 
@fuser

Klar, seh ich ein, wenn Max_used_connections = max_connections
dass das nicht funzt.

Schau' Dir 'mal die max_connections mit dem SQL SHOW VARIABLES an.
Sind die noch auf 100???

Wenn ja, auf welchen wert setz ich die?

 
fuser
16-06-2004, 10:32 
 
Original geschrieben von Cybermarco
Wenn ja, auf welchen wert setz ich die?

Jetzt tipp' halt 'mal die 2 SQLs ein und schau was rauskommt :motz:

Ändern kannst Du das im Linux in /etc/my.cnf.
max_connections = 500 wenn 500 gleichzeitig 'drauf gehen...

 
Cybermarco
16-06-2004, 15:36 
 
Also, habs rausgefunden:

man sollte beim mysql_connect nicht
mysql_connect ("localhost","bla","bla");


sondern statt localhost den server
eintragen, dan geht das auch.


Alle Zeitangaben in WEZ +2. Es ist jetzt 15:24 Uhr.