Veritabanı Bağlantı Hatası: Error Establishing a Database Connection

Hostmana 27 Temmuz 2026 9 dk okuma

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.php iç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 transient kayı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:

  1. Düzenli yedek alın. En kötü senaryoda bile temiz bir noktaya dönebilmek paha biçilmezdir.
  2. wp-config.php dosyasını değiştirmeden önce yedeğini alın. Tek bir yanlış karakter siteyi kapatabilir.
  3. Önbellekleme kullanın ve veritabanını düzenli optimize edin.
  4. 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.
  5. 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-->
Manabot çevrimiçi
Merhaba! Size en uygun hosting/sunucu paketini bulmanızda yardımcı olabilir miyim?
Manabot
Yapay zekâ asistanı · Çevrimiçi
🎁 Sana özel %20 indirim — e-postanı bırak, kodu hemen gönderelim.
👋 Temsilciye bağlanmadan önce kısa bilgi:
📨 Size dönebilmemiz için e-postanızı bırakın.