WordPress "Error establishing a database connection" hatası

WordPress 60 görüntülenme Markdown

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

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.

Faydalı oldu mu?

Geri bildiriminiz için teşekkürler!

Hâlâ Yardıma mı İhtiyacınız Var?

Yukarıda bulamadığınız her şey için destek ekibimiz her zaman yanınızda.