MySQL “Too Many Connections” Hatası ve Çözümü
Kısa yanıt: Bu hata, aynı anda açık veritabanı bağlantılarının sınıra ulaştığını gösterir. Paylaşımlı hosting’de sınır kullanıcı başınadır (max_user_connections); çözüm, bağlantıları uzun süre meşgul eden yavaş sorguları azaltmak, sayfa önbelleğini etkinleştirmek ve bot trafiğini sınırlamaktır. VPS’te max_connections değerini sunucu belleğine göre ayarlayabilirsiniz.
Bu rehber kimin için: Bağlantı hatası alan site sahipleri · Gereken süre: 15 dakika · Seviye: Orta
Her PHP isteği, sayfa oluşturulurken bir veritabanı bağlantısı kullanır. Sorgular hızlıysa bağlantı milisaniyeler içinde serbest kalır. Yavaş sorgular veya ani trafik artışları bağlantıların birikmesine ve yeni isteklerin reddedilmesine yol açar. Hata genellikle 508 kaynak limiti hatasıyla birlikte görülür.
Paylaşımlı hosting’de çözüm
- Zamanı belirleyin: Hatanın görüldüğü saatleri ve kaynak kullanımı grafiğini karşılaştırın.
- Önbelleği açın: Önbellekten sunulan sayfalar veritabanına bağlanmaz; LiteSpeed Cache kurun.
- Botları sınırlayın: Arama ve filtre sayfalarını tarayan botları engelleyin; ayrıntılar için kötü botları engelleme.
- Yavaş sorgular: Sorgu yükünü artıran eklentileri Query Monitor ile belirleyin; veritabanını optimize edin.
- Kalıcı bağlantılar: Özel uygulamalarda PDO veya mysqli kalıcı bağlantı (persistent) kullanmayın.
- Nesne önbelleği: VPS’te Redis nesne önbelleği tekrarlanan sorguları azaltır.
VPS’te
VPS’te sudo mysql -e "SHOW VARIABLES LIKE 'max_connections';" ile mevcut sınırı görün. Değeri artırmadan önce her bağlantının bellek kullandığını unutmayın; çok yüksek değer sunucunun belleğini tüketebilir. Ayarı /etc/mysql/mariadb.conf.d/50-server.cnf (veya mysqld.cnf) dosyasında max_connections satırıyla değiştirip servisi yeniden başlatın. SHOW PROCESSLIST; komutu o anda çalışan sorguları gösterir.
Hâlâ çözülmediyse
Hata sürekli tekrarlıyorsa sitenizin ihtiyacı paket kaynaklarını aşmış olabilir; 508 kaynak limiti rehberine bakın. Daha yüksek bağlantı limitleri için VPS sunucu paketlerimizde MySQL ayarlarını kendiniz yapabilirsiniz.
Sık sorulan sorular
Ziyaretçi sayım düşük, neden olur?
Tek bir yavaş sorgu veya bot taraması düşük trafikte de bağlantıları doldurabilir.
Bağlantı sınırını artırabilir misiniz?
Paylaşımlı sunucularda sınır tüm kullanıcıların korunması için sabittir.
İlgili rehberler
- 508 Resource Limit Is Reached Hatası ve Çözümü
- WordPress Veritabanı Optimizasyonu ve Temizliği
- Redis Nesne Önbelleği Nasıl Etkinleştirilir? (WordPress)
Bu rehber işinize yaradı mı?
Teşekkürler. Çözüm bulamadıysanız destek talebi açın veya [email protected] adresine yazın.