WordPress "Error establishing a database connection" hatası
Sitenizin yerinde şu satırı görüyorsanız: "Error establishing a database connection" (Türkçe arayüzde "Veritabanı bağlantısı kurulurken hata oluştu"), WordPress veritabanına ulaşamıyor demektir. Dosyalarınız sağlam; sorun veritabanı bağlantısındadır. Nedenler şu sırayla araştırılır.
1. wp-config.php bilgileri doğru mu?
Sitenin ana klasöründeki wp-config.php dosyasında dört değer bulunur:
define('DB_NAME', 'veritabani_adi');
define('DB_USER', 'kullanici_adi');
define('DB_PASSWORD', 'parola');
define('DB_HOST', 'localhost');
Yakın zamanda veritabanını, kullanıcıyı ya da parolayı değiştirdiyseniz, ya da sitenizi yeni bir sunucuya taşıdıysanız büyük olasılıkla bu bilgiler uyuşmuyordur. Hosting paketinde panel veritabanı ve kullanıcı adının başına hesap önekini ekler; wp-config.php'ye panelde yazan tam adı girmelisiniz: hosting veritabanı. DB_HOST hostingde localhost olur.
2. Bilgileri bağımsız doğrulayın
Hosting'de panelin VERİTABANI bölümünden phpMyAdmin'e aynı kullanıcı ve parolayla girmeyi deneyin. Giriş yapamıyorsanız kullanıcı ya da parola yanlıştır; panelden parolayı değiştirin ve wp-config.php'yi güncelleyin. VDS'te komut satırından deneyin:
mysql -u kullanici_adi -p -h localhost veritabani_adi
3. MySQL ya da MariaDB çalışıyor mu? (VDS)
sudo systemctl status mariadb
sudo systemctl restart mariadb
sudo journalctl -u mariadb -n 30
Servis çalışmıyorsa günlüğün son satırları nedenini söyler. En sık neden bellek bitmesidir: sunucu belleği dolunca çekirdek MariaDB'yi öldürür (dmesg | grep -i "out of memory"). Çözüm swap eklemek ya da paketi büyütmektir. Disk dolduğunda da MariaDB açılmaz: df -h ile kontrol edin: disk doldu.
4. Veritabanı bozulmuş olabilir
Bağlantı kuruluyor ama yönetim panelinde "One or more database tables are unavailable" gibi bir uyarı görürseniz tabloları onarmak için wp-config.php'ye geçici olarak şu satırı ekleyin:
define('WP_ALLOW_REPAIR', true);
Sonra tarayıcıda alanadiniz.com/wp-admin/maint/repair.php adresini açıp onarım düğmesine basın. İşiniz bitince satırı mutlaka silin; bu sayfa kimlik sormaz.
5. Hosting kotası ya da bağlantı sınırı
Çok yoğun trafik, bağlantı sayısı sınırını aştığında da kısa süreli bu hatayı görebilirsiniz. Birkaç dakika sonra düzeliyorsa trafiğinizi önbellekle azaltın: WordPress hızlandırma.
Sorun taşımadan sonra çıktıysa
Veritabanını yeni sunucuya içe aktardığınızdan ve kullanıcının o veritabanına yetkili olduğundan emin olun: site taşıma adımları. Siteniz hiç açılmıyorsa genel kontrol listesi: sitem açılmıyor.
Sık sorulanlar
Yönetim paneline giriyorum ama site hata veriyor.
Yönetim sayfası da aynı veritabanını kullanır; ikisinin farklı davranması nadir olur. Önbellek eklentisi eski bir hata sayfasını sunuyor olabilir; önbelleği temizleyin.
DB_HOST olarak ne yazmalıyım?
Hosting'de ve çoğu VDS kurulumunda localhost. Veritabanı başka bir sunucudaysa o sunucunun adresi ve gerekiyorsa port (adres:3306) yazılır.
Hata geliyor ama sunucuda her şey normal görünüyor.
Veritabanı kullanıcısının parolasında özel karakter olabilir ve wp-config.php içinde tırnak işaretiyle çakışıyordur. Parolada tek tırnak varsa ters eğik çizgi ile kaçırın ya da daha sade bir parola belirleyin.
İlgili makaleler
- Sitem açılmıyor, adım adım kontrol listesi
- Hosting'de veritabanı (MySQL) nasıl oluşturulur? phpMyAdmin nasıl açılır?
- MySQL / MariaDB veritabanı nasıl kurulur ve güvenli kullanılır?
Sorununuz çözülmediyse destek talebi açın. Hangi adımı denediğinizi ve ekranda ne gördüğünüzü yazarsanız çözüm çok daha hızlı olur.
Geri bildiriminiz için teşekkürler!