Sitenize girmeye çalışıyorsunuz ve karşınıza tek satırlık o soğuk mesaj çıkıyor: "Error Establishing a Database Connection". Ne ana sayfa açılıyor, ne yönetim paneli. Site sanki yok olmuş gibi. Bu, WordPress ve veritabanı kullanan diğer sistemlerde en sık karşılaşılan kesinti nedenlerinden biridir ve panik yaratması çok normaldir. İyi haber şu: bu hatanın nedeni neredeyse her zaman bellidir ve çoğu durumda dakikalar içinde çözülebilir.
Bu rehberde veritabanı bağlantı hatası sorununun arkasındaki gerçek sebepleri tek tek açıklayacak, hangi durumda hangi adımı izlemeniz gerektiğini sırayla göstereceğiz.
Bu Hata Tam Olarak Ne Anlama Geliyor?
WordPress, WooCommerce, Joomla gibi sistemler iki ayrı parçadan oluşur:
- Dosyalar (PHP kodu, temalar, eklentiler, görseller) — hosting alanınızda durur.
- Veritabanı (yazılarınız, ayarlarınız, kullanıcılarınız, ürünleriniz) — bir MySQL/MariaDB sunucusunda durur.
Site her açıldığında PHP kodu, veritabanına bağlanıp içeriği oradan çeker. "Error Establishing a Database Connection" mesajı tam olarak şunu söyler: PHP kodu veritabanına ulaşamadı. Yani dosyalarınız yerli yerinde olabilir, ama site veriye erişemediği için ekrana hiçbir şey basamıyor.
Bu ayrım çok önemli, çünkü çözüm de bu iki parçanın arasındaki köprüyü onarmaya odaklanır.
En Yaygın 6 Neden
Hataya yol açan sebepleri sıklığa göre sıralarsak:
| Neden | Belirti | Çözüm Zorluğu |
|---|---|---|
| Yanlış veritabanı bilgileri (wp-config) | Eklenti/tema güncellemesi, taşıma sonrası | Kolay |
| MySQL servisi çökmüş/durmuş | Tüm siteler aynı anda etkilenir | Orta |
| Bozuk veritabanı tablosu | Site kısmen açılıyor, bazı sayfalar hata | Orta |
| Kaynak/bağlantı limiti aşımı | Trafik artınca aralıklı hata | Orta |
| Veritabanı sunucusu adresi yanlış | Taşıma sonrası sürekli hata | Kolay |
| Hacklenme veya bozulan dosyalar | Beklenmedik anda, başka belirtilerle | İleri |
Şimdi bunları çözüm adımlarıyla birlikte ele alalım.
Adım 1: Veritabanı Bilgilerini Kontrol Edin (En Sık Sebep)
WordPress'te veritabanı bağlantı bilgileri sitenizin kök dizinindeki wp-config.php dosyasında saklanır. Hatanın en yaygın nedeni bu dosyadaki bilgilerin yanlış olmasıdır — özellikle siteyi başka bir sunucuya taşıdıysanız veya hosting şifrenizi değiştirdiyseniz.
wp-config.php dosyasını DirectAdmin veya Plesk dosya yöneticisinden ya da FTP ile açın ve şu dört satıra bakın:
define( 'DB_NAME', 'veritabani_adi' );
define( 'DB_USER', 'kullanici_adi' );
define( 'DB_PASSWORD', 'sifreniz' );
define( 'DB_HOST', 'localhost' );
Bu dört değerin hosting panelinizdeki gerçek değerlerle birebir aynı olması gerekir:
- DB_NAME — Kontrol panelinizde oluşturduğunuz veritabanının tam adı. Çoğu panelde veritabanı adının başına otomatik bir ön ek eklenir (örneğin
kullanici_wp123), bu ön eki atlamayın. - DB_USER — Veritabanına yetkili kullanıcı adı. Yine ön ekli olabilir.
- DB_PASSWORD — O kullanıcının şifresi. Şifrede özel karakterler varsa yanlış kopyalanmış olabilir. Emin değilseniz panelden yeni bir şifre belirleyip her iki yere de aynısını yazın.
- DB_HOST — Genellikle
localhost'tur. Ancak bazı barındırma yapılandırmalarında ayrı bir veritabanı sunucusu adı veya IP olabilir. Hosting sağlayıcınızın belirttiği değeri kullanın.
İpucu: Şifreyi kopyalarken başına/sonuna gelen görünmez boşluklara dikkat edin. En güvenli yöntem, panelden şifreyi sıfırlayıp aynısını
wp-config.phpiçine elle yazmaktır.
Bilgileri düzelttikten sonra siteyi yenileyin. Sorun buradaysa site açılacaktır.
Adım 2: MySQL Servisinin Çalıştığını Doğrulayın
Eğer bilgiler doğruysa ama hata devam ediyorsa, sorun veritabanı sunucusunun kendisinde olabilir. MySQL/MariaDB servisi çökmüş veya durmuş olabilir.
Bunu anlamanın hızlı bir yolu var: aynı hostingte birden fazla siteniz varsa hepsi aynı anda mı bu hatayı veriyor? Eğer öyleyse, neredeyse kesinlikle veritabanı servisi sorunudur, tek bir sitenin yapılandırması değil.
Bu durumda yapabilecekleriniz:
- Paylaşımlı hosting kullanıyorsanız: Bu, sunucu tarafındaki bir sorundur ve doğrudan müdahale edemezsiniz. Hosting sağlayıcınızla iletişime geçin; çoğu durumda birkaç dakika içinde servis yeniden başlatılır.
- VDS veya sunucu kullanıyorsanız: SSH ile bağlanıp servis durumunu kontrol edebilirsiniz:
systemctl status mysql
# veya dağıtıma göre:
systemctl status mariadb
Servis durmuşsa yeniden başlatın:
systemctl restart mysql
Servis sürekli kapanıyorsa bunun bir alt sebebi vardır — genellikle diskin dolması veya belleğin tükenmesi. Disk doluluğunu df -h, bellek durumunu free -m ile kontrol edin. MySQL'in yeniden başlamaması en sık "diskte yer kalmadı" sorunundan kaynaklanır.
Adım 3: Bozuk Tabloları Onarın
Site tamamen kapalı değil de bazı sayfalar açılıyor, bazıları hata veriyorsa ya da yönetim paneline girip "veritabanı onarımı gerekiyor" benzeri uyarılar görüyorsanız, bir veya birkaç tablonuz bozulmuş olabilir. Bu genellikle ani güç kesintisi, sunucunun beklenmedik kapanması veya disk hatası sonrası olur.
WordPress'in dahili bir onarım aracı vardır. Önce wp-config.php dosyasına şu satırı ekleyin:
define( 'WP_ALLOW_REPAIR', true );
Ardından tarayıcınızdan şu adrese gidin:
https://siteadiniz.com/wp-admin/maint/repair.php
Karşınıza çıkan ekrandan "Repair Database" veya "Repair and Optimize Database" seçeneğini çalıştırın. İşlem bitince eklediğiniz satırı wp-config.php dosyasından mutlaka silin — aksi halde bu sayfa herkese açık kalır ve güvenlik açığı oluşturur.
Alternatif olarak, phpMyAdmin üzerinden de tablo onarımı yapabilirsiniz: ilgili veritabanını seçin, tüm tabloları işaretleyin ve alttaki menüden "Tabloyu onar" (Repair table) seçeneğini çalıştırın.
Adım 4: Kaynak ve Bağlantı Limitlerini Değerlendirin
Hata sürekli değil de aralıklı ortaya çıkıyorsa — yani site bazen açılıp bazen "Error Establishing a Database Connection" veriyorsa — bu klasik bir kaynak yetersizliği işaretidir. Çoğunlukla şu durumlarda görülür:
- Trafik aniden arttığında (kampanya, reklam, sosyal medya paylaşımı).
- WooCommerce gibi yoğun veritabanı kullanan sitelerde aynı anda çok sayıda ziyaretçi olduğunda.
- Optimize edilmemiş eklentiler aynı anda çok fazla veritabanı bağlantısı açtığında.
MySQL'in eş zamanlı kabul edebileceği bağlantı sayısı (max_connections) sınırlıdır. Bu sınır dolduğunda yeni gelen istekler reddedilir ve bağlantı hatası alınır.
Bu durumda çözüm önerileri:
- Gereksiz eklentileri kaldırın ve veritabanını yormayan alternatifler kullanın.
- Önbellekleme kullanın. Sayfa önbelleği, her ziyaretçi için veritabanına gitme ihtiyacını ciddi ölçüde azaltır.
- Veritabanınızı optimize edin; şişmiş tablolar (özellikle yorum spam'i, geçici
transientkayıtları, eski revizyonlar) bağlantıları yavaşlatır. - Trafiğiniz paylaşımlı hostingin sınırlarını sürekli zorluyorsa, daha güçlü bir pakete veya sanal sunucuya geçmeyi değerlendirin.
Adım 5: Taşıma Sonrası DB_HOST Sorunu
Siteyi yeni taşıdıysanız ve hata ilk açılıştan beri varsa, sorun büyük olasılıkla DB_HOST değerindedir. Bazı eski hosting kurulumlarında veritabanı localhost yerine ayrı bir adreste durur. Doğru değeri yeni hosting sağlayıcınızdan teyit edip wp-config.php içine yazın.
Ayrıca taşıma sırasında veritabanını yeni sunucuda yeniden oluşturmayı ve kullanıcıya yetki vermeyi unutmak da sık yapılan bir hatadır. Yeni panelde veritabanının gerçekten var olduğundan ve ilgili kullanıcının o veritabanına tam yetkili atandığından emin olun.
Adım 6: Güvenlik İhlali İhtimalini Atlamayın
Hata hiçbir mantıklı sebep olmadan, sizin hiçbir değişiklik yapmadığınız bir anda ortaya çıktıysa ve yukarıdaki adımlar sonuç vermediyse, sitenizin hacklenmiş olma ihtimalini de göz önünde bulundurun. Kötü amaçlı kod bazen wp-config.php dosyasını değiştirir, veritabanı bilgilerini bozar veya veritabanını aşırı yükleyerek erişilemez hale getirir.
Bu durumda dosyalarınızı bir güvenlik taramasından geçirmek, son temiz yedeğe dönmek ve tüm şifreleri (hosting, veritabanı, yönetim paneli) değiştirmek gerekir. Düzenli yedekleme alışkanlığının neden hayati olduğunu tam da böyle anlarda anlarsınız.
Hatayı Önlemek İçin Kalıcı Önlemler
Bu hatayla bir daha karşılaşmamak için:
- Düzenli yedek alın. En kötü senaryoda bile temiz bir noktaya dönebilmek paha biçilmezdir.
wp-config.phpdosyasını değiştirmeden önce yedeğini alın. Tek bir yanlış karakter siteyi kapatabilir.- Önbellekleme kullanın ve veritabanını düzenli optimize edin.
- Hostinginizin kaynak kullanımını takip edin. Sürekli sınırda geziyorsanız, paketinizi büyütmek hata oluşmadan önce müdahale etmenizi sağlar.
- Güçlü ve benzersiz şifreler kullanarak güvenlik ihlali riskini düşürün.
Yardıma mı İhtiyacınız Var?
Adımları uyguladınız ama site hâlâ açılmıyorsa veya sunucu tarafındaki bir soruna işaret eden belirtiler görüyorsanız, sorunu daha fazla kurcalamadan destek almak en güvenli yoldur. Hostmana'da güçlü ve kararlı altyapı üzerinde çalışan hosting paketlerimiz ile veritabanı kaynaklarınız izlenir; yoğun trafikli projeler için yurt dışı sanal sunucularımız ek esneklik sunar. Sitenizin durumunu hızlıca kontrol etmek isterseniz ücretsiz web araçlarımızdan yararlanabilir, benzer sorunların çözümleri için bilgi bankamızı inceleyebilirsiniz. Anlık bir kesinti yaşıyor ve tek başınıza ilerlemekte zorlanıyorsanız uzaktan canlı destek ile ekibimiz ekranınıza bağlanıp birlikte çözebilir; dilerseniz iletişim sayfamızdan da bize ulaşabilirsiniz. Hedefimiz sitenizi en kısa sürede yeniden ayağa kaldırmak.
<!--silo-start-->📚 İlgili Rehberler
Ana rehber: WordPress Sitesi Nasıl Kurulur? Domain + Hosting + SSL Sıfırdan Tam Rehber
İlgili yazılar:
<!--silo-end-->