WordPress Hosting Üzerinde “Error Establishing Database Connection” Hatası
WordPress Hosting Üzerinde “Error Establishing Database Connection” Hatası
“Error establishing database connection” hatası, WordPress’in veritabanına (MySQL/MariaDB) bağlanamadığını gösteren kritik bir hata mesajıdır. Site tamamen beyaz ekran verebilir ve yönetim paneline de erişim kesilebilir. Bu hata çoğunlukla yanlış veritabanı bilgileri, veritabanı servisinin durması, bozuk WordPress tabloları veya hosting tarafında kaynak sınırı nedeniyle ortaya çıkar. Bu rehberde, adım adım kontrol etmeniz gereken noktaları ve kalıcı çözümleri anlatıyoruz.
- 1. Hatanın Ne Anlama Geldiğini Doğru Okuyun
- 2. wp-config.php Dosyasını Kontrol Edin
- 3. cPanel Üzerinden DB Kullanıcısını Yeniden Yetkilendirin
- 4. Veritabanı Sunucusunun Çalıştığını Doğrulayın
- 5. Veritabanı Onarımı (repair) Yapın
- 6. Fazla Trafik / Kaynak Limiti Sorunları
- 7. DB_HOST Değerini Değiştirerek Test Edin
- 8. PHP Sürümü ve MySQL Sürümlerini Kontrol Edin
- 9. Güvenlik Eklentisi / firewall Kaynaklı Engeller
- 10. Yedekten Geri Dönme
- Sonuç
1. Hatanın Ne Anlama Geldiğini Doğru Okuyun
WordPress index.php çalışıyor, PHP yorumlanıyor ancak PHP, MySQL sunucusundan yanıt alamıyor demektir. Yani sorun çoğunlukla PHP tarafında değil, DB bağlantısı tarafındadır.
2. wp-config.php Dosyasını Kontrol Edin
İlk bakılması gereken dosya kökteki wp-config.php’dir. Şu alanları kontrol edin:
define( 'DB_NAME', 'veritabani_adi' ); define( 'DB_USER', 'veritabani_kullanicisi' ); define( 'DB_PASSWORD', 'sifre' ); define( 'DB_HOST', 'localhost' ); // bazı hostinglerde: 127.0.0.1 veya mysql.sunucu.com
- Veritabanı adı cPanel → MySQL Databases ekranındaki adla birebir aynı olmalı (örn.
siteadi_wp). - Kullanıcı adı/veritabanı ön eki (prefix) varsa onu da yazmalısınız.
- DB_HOST bazı hostinglerde
localhostdeğil özel bir hostname olabilir; panelde yazan değeri kullanın.
3. cPanel Üzerinden DB Kullanıcısını Yeniden Yetkilendirin
Yanlışlıkla yetki düşmüşse:
- cPanel → MySQL Databases
- “Add User to Database” bölümünden ilgili kullanıcıyı ilgili veritabanına ekleyin.
- “ALL PRIVILEGES” seçin ve kaydedin.
Bu adım, “Access denied for user” tipi hataları çözer.
4. Veritabanı Sunucusunun Çalıştığını Doğrulayın
SSH erişiminiz varsa:
mysql -u veritabani_kullanicisi -p
Giremiyorsanız ya kullanıcı adı/şifre yanlış ya da MySQL/MariaDB servisinde sorun vardır (paylaşımlı hostingde bu kısmı hosting destek bakar).
5. Veritabanı Onarımı (repair) Yapın
Bazen WordPress tabloları bozulur. Aşağıdaki satırı geçici olarak wp-config.php içine ekleyin:
define( 'WP_ALLOW_REPAIR', true );
Sonra tarayıcıdan:
https://alanadiniz.com/wp-admin/maint/repair.php
sayfasına gidip “Repair Database” deyin. İşlem bitince bu satırı wp-config’ten geri silmeyi unutmayın.
6. Fazla Trafik / Kaynak Limiti Sorunları
Paylaşımlı WordPress hostinglerde MySQL bağlantı sayısı (max_connections) dolduğunda da bu hata çıkar. cPanel → Metrics → Errors altında “Too many connections” görüyorsanız bu durumdur. Çözümler:
- Cache eklentisi (LiteSpeed Cache, WP Super Cache) kullanın.
- Saldırı veya bot trafiği varsa WAF/CDN (Cloudflare) ile kısın.
- Kaynaklar yetmiyorsa VDS / daha güçlü hosting plana geçin.
7. DB_HOST Değerini Değiştirerek Test Edin
bazı hostinglerde:
localhostyerine127.0.0.1- veya panelde yazan özel host:
mysql.siteadi.com
şeklinde tanımlama gerekir. Yanlış host → 500 değil, tam olarak bu hatayı doğurur.
8. PHP Sürümü ve MySQL Sürümlerini Kontrol Edin
cPanel → Select PHP Version ekranından PHP sürümünüzü 7.4 / 8.0 / 8.1 gibi desteklenen bir sürüme getirin. Çok eski PHP ile yeni MySQL eşleşmeyebilir. Aynı şekilde, yeni WordPress sürümleri MySQL 5.5 gibi çok eski sürümlerde sorun çıkarabilir.
9. Güvenlik Eklentisi / firewall Kaynaklı Engeller
WordFence, iThemes Security veya hosting’in ModSecurity kuralları bazen DB erişimini kesmez ama PHP’de fatal error üretebilir. Sorunun eklenti kaynaklı olup olmadığını anlamak için:
wp-content/plugins
klasörünü geçici olarak plugins-old yapın ve tekrar deneyin.
10. Yedekten Geri Dönme
Eğer veritabanı gerçekten bozulduysa ya da yanlışlıkla silindiyse, cPanel → Backups → “Restore a MySQL Database” bölümünden en son yedeği geri yükleyin. Daha büyük projelerde harici backup (VDS + harici backup sunucusu) kullanmak daha güvenlidir.
Sonuç
“Error establishing database connection” hatası korkutucudur ama genellikle 3 şeyden biri çıkar: wp-config’te yanlış bilgi, MySQL servis/erişim sorunu veya bozuk DB tabloları. Bu üçü sırayla kontrol edildiğinde sorun çoğu zaman birkaç dakikada giderilir. Daha dayanıklı bir WordPress mimarisi için WordPress Hosting planlarında düzenli MySQL yedeği, yükseltilmiş bağlantı limiti ve LiteSpeed tabanlı cache katmanı kullanmak uzun vadede bu hatayı önemli ölçüde azaltacaktır.