Error Establishing a Database Connection Hatası (Kesin Çözüm Rehberi)
Web sitenizi açtığınızda beyaz bir ekran üzerinde “Error establishing a database connection” hatasıyla mı karşılaşıyorsunuz?
Bu hata özellikle WordPress sitelerinde çok yaygındır ve genellikle veritabanı bağlantı sorunu anlamına gelir.
Panik yapmayın…
Bu yazıda, adım adım bu hatanın neden kaynaklandığını ve nasıl çözülebileceğini anlatıyoruz.
Yazının sonunda siz de kendi sitenizi birkaç dakika içinde yeniden çalışır hale getirebileceksiniz.
Bu Hata Nedir?
“Error establishing a database connection” mesajı, WordPress’in MySQL veritabanına bağlanamadığını gösterir.
Basitçe söylemek gerekirse, WordPress sitenizin dosyaları sunucuda duruyor ama veritabanına ulaşamıyor.
WordPress, her sayfayı açarken şu işlemi yapar:
wp-config.phpdosyasındaki veritabanı bilgilerini okur.- MySQL veritabanına bağlanır.
- Sitedeki yazı, sayfa, ayar gibi verileri çeker.
Eğer bu bağlantı başarısız olursa, işte o meşhur hata karşınıza çıkar.
Başlıca Nedenler
Bu hatanın ortaya çıkmasının birkaç yaygın sebebi vardır:
- Yanlış veritabanı bilgileri (
wp-config.phphatası) - MySQL servisinin çökmesi veya geçici olarak kapanması
- Veritabanı tablolarının bozulması (örneğin
wp_optionstablosu) - Kullanıcı yetkilerinin eksik olması
- Sunucu kaynaklarının dolması (CPU, RAM, “Too many connections” hatası)
- DNS veya taşıma kaynaklı yönlendirme hataları
Şimdi bu nedenleri tek tek çözüm yollarıyla inceleyelim.
1. wp-config.php Dosyasını Kontrol Edin
Bu dosya sitenizin kök dizininde (public_html) bulunur.
WordPress’in veritabanına nasıl bağlanacağını bu dosya belirler.
Gerekli satırlar:
define('DB_NAME', 'veritabani_adi');
define('DB_USER', 'veritabani_kullanici_adi');
define('DB_PASSWORD', 'veritabani_sifresi');
define('DB_HOST', 'localhost');
Yapmanız gerekenler:
- cPanel → File Manager →
public_html→wp-config.phpdosyasını açın. DB_NAME,DB_USER,DB_PASSWORD,DB_HOSTdeğerlerinin doğru olduğundan emin olun.- cPanel’deki MySQL® Databases sayfasından bu bilgileri karşılaştırın.
Eğer emin değilseniz, MySQL kullanıcı şifresini sıfırlayıp yeniden yazabilirsiniz.
2. MySQL Servisi Çökmüş Olabilir
Bazı durumlarda, veritabanı sunucusu geçici olarak devre dışı kalabilir.
Bunu test etmek için:
- cPanel’e giriş yapın.
- phpMyAdmin’i açın.
- Eğer tabloları görüyorsanız → MySQL çalışıyor.
Eğer hata alıyorsanız → Hosting destek ekibinize şu mesajı iletin:
“Merhaba, web sitemde ‘Error establishing a database connection’ hatası alıyorum.
cPanel erişimim mevcut ancak veritabanına bağlanamıyorum.
MySQL servisinde bir sorun olup olmadığını kontrol eder misiniz?”
3. Veritabanı Tablolarını Onarın
Bazı durumlarda, özellikle wp_options veya wp_posts gibi tablolar “crashed” olabilir.
phpMyAdmin üzerinden çözüm:
- cPanel → phpMyAdmin’e girin.
- Sol taraftan veritabanınızı seçin.
- Sağda tüm tabloları işaretleyin.
- Alttaki açılır menüden “Repair table” seçeneğini seçin.
Bu işlem çoğu durumda sorunu çözer.
Manuel SQL ile onarım:
REPAIR TABLE `wp_options`;
Eğer bu işe yaramazsa:
REPAIR TABLE `wp_options` USE_FRM;
Not: Eğer “last repair failed” hatası alırsanız, tablo ciddi şekilde bozulmuştur.
Bu durumda yedekten geri yükleme yapmanız gerekir.
4. Kullanıcı Yetkilerini Kontrol Edin
- cPanel → MySQL® Databases sayfasına gidin.
- “Add User to Database” kısmında veritabanı ve kullanıcıyı seçin.
- “ALL PRIVILEGES” işaretleyin ve kaydedin.
Bu adım, veritabanı kullanıcısına tam erişim izni verir.
5. Basit Bağlantı Testi (dbtest.php)
Sorunun nerede olduğunu anlamak için basit bir test dosyası oluşturabilirsiniz:
public_htmliçinedbtest.phpisminde bir dosya ekleyin.- İçine şu kodu yapıştırın:
<?php $link = mysqli_connect("localhost", "DB_USERIN", "DB_SIFREN", "DB_ADIN"); if (!$link) { die("Bağlantı hatası: " . mysqli_connect_error()); } echo "Bağlantı başarılı!"; ?> - Tarayıcıdan
https://siteniz.com/dbtest.phpadresine gidin.
Sonuçlar:
- “Bağlantı başarılı!” → WordPress içinde sorun var.
- “Access denied” → Veritabanı bilgileri hatalı.
6. WP_ALLOW_REPAIR ile Otomatik Onarım
WordPress, veritabanı onarımı için gizli bir araç sunar.
wp-config.phpdosyasına şunu ekleyin:define('WP_ALLOW_REPAIR', true);- Tarayıcıdan şu adresi açın:
https://siteniz.com/wp-admin/maint/repair.php - “Repair Database” veya “Repair and Optimize Database” seçeneğini kullanın.
- İşlem bitince yukarıdaki satırı dosyadan kaldırmayı unutun.
7. Hosting Kaynak Limitlerini Kontrol Edin
Bazı paylaşımlı hostinglerde CPU, RAM veya MySQL bağlantı limiti dolduğunda bu hata görülebilir.
cPanel → Metrics > Resource Usage kısmına gidin.
“Faults” veya “MySQL connection limit reached” hataları varsa hosting planınızı yükseltmeyi düşünün.
Sonuç
“Error establishing a database connection” hatası ilk bakışta ciddi görünse de, aslında birkaç temel kontrolle kolayca çözülebilir.
Özetle:
wp-config.phpbilgilerini doğrulayın.- phpMyAdmin’de tablo onarın.
- Gerekirse WP repair aracını kullanın.
- MySQL servisinin çalıştığından emin olun.
Eğer tüm adımları denediğiniz halde sorun devam ediyorsa, profesyonel destek almanız önerilir.
(Bazı durumlarda tablonun fiziksel dosyaları bozulabilir.)
Sık Sorulan Sorular
1. Bu hata hosting değiştirince mi olur?
Evet, taşıma sırasında DB_HOST değeri değişirse bağlantı kopabilir.
2. Veritabanı onarımı site verilerini siler mi?
Hayır, “repair table” komutu sadece bozuk indeksleri düzeltir, içerikleri silmez.
3. Yedek yoksa kurtarma mümkün mü?
Kısmen. Eğer tablo dosyaları (.frm, .ibd) sağlam kaldıysa, manuel kurtarma yapılabilir.
Son Söz
“Error establishing a database connection” hatası, WordPress kullanıcılarının en sık karşılaştığı ama aynı zamanda en kolay çözülebilen hatalardan biridir.
Bu rehberdeki adımları uygulayarak sitenizi dakikalar içinde tekrar yayına alabilirsiniz.
Dilersen yorum kısmında kendi yaşadığınız hatayı paylaşabilir, diğer kullanıcılara da yardımcı olabilirsiniz.
