mysql: "Too many connections"

Sziasztok!

Van egy 3 mysql server-ből álló replicationom. 1 master, 2 slave felállásban. A probléma az az, hogy mostanában elég gyakran (előtte nem csinálta) előjön az a hiba, hogy a master azt mondja "Too many connections". Ilyenkor sajnos szívás van, mert nem tudom sehogy sem leállítani csak kill, hiába mondja azt, hogy max connections+1 van fent tartva, már sehogy nem tudok belépni, és sehogy sem tudom leállítani... ez még nem is lenne feltétlen baj, de a slavek ilyenkor elcsúsznak, és muszáj vagyok kézzel odacopyzni a dB-t, és úgy összelőni őket. (Erre esetleg valakinek valami egyéb járható megoldás?)

Na nem is ez a fő baj, hanem hogy mitől is jön elő ez a "Too many connections". Este 8-kor még érthető is lenne, de legutoljárra ma reggel 8-kor lett ilyen, amikor aztán főleg nem indokolná semmi. A max connections az most 500-on van, de évekig el ment sokkal kevesebb értékkel is, szóval nem abban látom a megoldást, hogy az egekig emeljem. PHP-ból mysql connectel történik a kapcsolódás, és nem pconnecttel. Google alapján a wait_timeoutot tartják sokan a ludasnak, de jelen esetben úgy vannak a kapcsolatok, hogy mikor egy végetér akkor le is zárja rendesen, szóval "elvileg" nem ragadhatna bent, de ezekszerint még is, mert ettől keletkezik a probléma.

A figyelmembe ajánlották ezt a cikket, de nem tudom melyik beállítást merjem meglépni...
http://jeremy.zawodny.com/blog/archives/000173.html

Valaki szívott már hasonlóval?

Hozzászólások

hanyas mysql? pl tegyel egy screenbe, egy aktiv belepest, es amikor eljon a hiba, akkor show processlist (vagymi). az megmondja, hogy milyen kapcsolatok vannak.

--
A vegtelen ciklus is vegeter egyszer, csak kelloen eros hardver kell hozza!

mysql-4.1, tudom eléggé őskövület, de évek óta működő rendszer lévén, nem volt szükség/lehetőség upgradere. Igen, nézegettem, de elvileg se 'Sleep', sem pedig 'Idle' processek nem lehetnek bent, de még is megeszi valami.

Aki üzemeltet hasonló felállást, annál milyen beállításokkal fut a master/slave?

Meg erre az elcsúszott slave problémára is jöhetne valami tuti tipp, mert 13 gigás db-vel nem egyszerű, és mindennek állni kell amíg megcsinálom.

Ugy latom, tobb gondod is van.

Egyreszt, a slave-eken le lehet am allitani a replication-t, mielott kilovod a mastert, es akkor nem lesz gond az ujrainditassal (mondjuk elvileg enelkul se kellene, hogy legyen).

Masreszt pedig: log, log es log. Mysql-bol, php-bol, mindenhonnan. Ez az a fajta bug, amit sima debugolassal nem fogsz megtalalni, igy hat jo sok log kell egy ilyen esetrol, es utana osszevetni a koddal.
De ez altalaban is igaz, plane egy friss rendszernel!

Igen, kicsit forrófejű voltam, nem kellett volna neki az a kill, de nagyon megvolt halva... egyszer hasonlóan jártam el akkor nem lett ekkora gond vele, de legközelebb inkább megpróbálom előbb az apacheot leállítani, hátha lesz felszabaduló kapcsolat, és akkor már sokkal egyszerűbb.

Egyébként tényleg nincs más mód arra, hogy helyrehozzam a dB-t, csak ez a fapados dolog, hogy leáll, átmásol, elindít, örül? :) A LOAD DATA FROM MASTER, sose ment, meg ahogy olvastam a mysql.com-on nem is javasolják.

Szervusztok !

Ellenőrizd le a partició szabad méretét!

Nálam akkor volt hasonló hibaüzenet, amikor a /var partición elfogyott a szabad hely.
(ráérős távol-keletiek az FTP-re próbáltak bejelentkezni, és proftpd.log 6.x GB-ra hízott rövid idő alatt - a partició mérete 8GB volt)

CSZ