General error (max_user_connection) hatası ve çözümü



Eğer veritabanı kullanan bir siteniz yada forumunuz bu hatayı veriyor ve sebebini bulamıyorsanız , Hoştunuz ile bağlantıya geçip databank ile ilgili maximum kullanıcı bağlantı ayarlarını (concurrent connections)


değiştirip değiştirmediklerini sorun , Muhtemelen bu ayarlarda bir kısıtlamaya gitmişlerdir (mesela 60 tan 15 e düşürmek gibi) Genellikle serverdeki sebepsiz yavaşlama ve Cpu kullanımını azaltmak için bu serveri kullananlara (host satın almış kişilere) bildirilmeden yapılan bu değişiklik ile stabilite sağlanmaya çalışılır , fakat biraz büyükçe bir site ve forumunuz varsa günde 7-8 defa tıkanıp geçici bir süre resimdeki hatayı vermesine neden olur ve hoştunuz ile temaslarınızda arttırın demeniz de bir işe yaramaz çünkü kişiye özel bunu arttıramazlar , haliyle kalakalırsınız (başıma geldiği için biliyorum) , fakat serveri kandırmanın ve bu maximum bağlantı sayısını arttırmanın bir yolu vardır aslında , hatayı dikkatlice incelediğimizde , çözüm için bizzat ipucu verdiğini görürüz , User den sonra kapattığım kısım config.php (databank ile bağlantıyı sağlayan cofigüration dosyasıdır ve databank ile balantı kuran her sistemde vardır , lakin isim farklılığı olabilir) deki forumun databanka bağlanması için yetkilendirilen kullanıcının ismidir ve maksimum kullanıcı bağlantısını bu yetkili kullanıcı aşmaktadır , Peki şöyle düşünelim bu databanka bağlanma yetkisi verdiğimiz kullanıcıdan birkaçtane olsa ve birindeki maksimum bağlantı dolunca üstteki hatayı vereceği yerde diğer yetkili kullanıcıya geçse bu durumda hata vermez belki saniyelik bir takılma yaşanır lakin hemen düzelir , işte çözümde budur , peki bunu nasıl yaparız ; öncelikle C panelinizden üstteki hatayı veren databanka erişme yetkisi olan 3 kullanıcı (siz daha fazla da oluşturabilirsiniz) alüstürün fakat herbirinin Passwordu aynı olmak zorundadır yani varsayalım config.php dosyanız aşağıdaki şekilde:

$dbuser = 'sordum';
$dbpasswd = '123456';
$dbname = 'deneme';

yani: sordum isimli kullanıcı 123456 passwordu ile deneme isimli databankinızla iletişim kurmaktadır bizde C panelimizden sordum1 , sordum2, sordum3 diye passwordları yine 123456 olan kulanıcılar oluşturup aynı databank a bağlanma yetkisi veriyoruz (bunun nasılını da sormayınız lütfen) ve deneme databanki ile bağlantı kuran kullanıcı sayısını toplamda 4 yaptıktan sonra config dosyasını aynen aşağıdaki şekilde değiştirin

$ruser[]= 'sordum';
$ruser[]= 'sordum1';
$ruser[]= 'sordum2';
$ruser[]= 'sordum3';
$dbuser = $ruser[ rand(0,3) ];
$dbpasswd = '123456';

ayarımız bitti eski config.php dosyanızın ismini değiştirip bu yeni config.php dosyanızı hoşta upload edin , böylece deneme veritabanı ile bağlantı kuran sordum kullanıcısı maksimum bağlantı sayısına ulaştığında baştaki hatayı vermek yerine hemen sordum 1,2,3 kullanıcıları devreye girecektir (yani herbir kullanıcı için 15 bağlantı 4x15=60 bağlantıya sahip olduk), haa server bunu farkederse ne olur o kısmı meçhul yakalanırsam onu da beraberce göreceğiz.

Not: asıl çözüm databanka bağlantı yetkisi verilen User in maksimum kullanıcı sayısının arttırılmasıdır (bunu da ancak serverden yapabilirler , yani hostunuz yapabilir , üstteki çözüm sizde ise yaramaz ve hata devam ederse Host değiştirmeniz önerilir

Velociraptor (Thank you VSE)


Yorum Ekle

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Captcha