Kısa cevap
Bu hata, WordPress'in MySQL veritabanına bağlanamadığı ve bu nedenle siteyi yükleyemediği anlamına gelir. En yaygın nedenler `wp-config.php` dosyasındaki yanlış bilgiler, erişilemeyen MySQL sunucusu veya silinmiş veritabanı kullanıcısıdır. Önce veritabanı bilgilerini kontrol edin, ancak ondan sonra tabloları onarmaya çalışın.
Sorun nasıl anlaşılır
- Site "Error establishing a database connection" veya "Veritabanı bağlantısı kurulurken hata" mesajı gösteriyor
- `/wp-admin` adresine giriş yapamıyorsunuz, aynı hata görünüyor
- Site düne kadar çalışıyordu, şimdi tamamen erişilemez durumda
- Hata, parola değişikliğinden veya sitenin başka bir barındırma hizmetine taşınmasından sonra ortaya çıktı
En yaygın nedenler
wp-config.php dosyasındaki yanlış bilgiler
Veritabanı adı, kullanıcı, parola veya ana bilgisayar değiştirilmiş ya da yanlış yazılmış. WordPress bu durumda MySQL sunucusuna giriş yapamaz.
MySQL sunucusu erişilemiyor
Veritabanı sunucusu çökmüş, yeniden başlatılmış veya bağlantı sınırına ulaşmış. Bu durumda hata, aynı barındırma hizmetindeki tüm siteleri etkiler.
Veritabanı kullanıcısı silinmiş veya parolası değiştirilmiş
Birisi barındırma panelinde kullanıcıyı silmiş, yetkilerini kaldırmış veya parolasını değiştirmiş, ancak `wp-config.php` güncellenmemiş.
Bozuk veya eksik veritabanı
Kesilen içe aktarma, disk arızası veya başarısız yedekleme, veritabanını WordPress'in bağlanamayacağı bir durumda bırakabilir.
Yanlış ana bilgisayar veya bağlantı noktası
Başka bir sunucuya taşındıktan sonra eski `DB_HOST` kalır, örneğin barındırma hizmetinin gerektirdiği sunucu adı yerine `localhost` kullanılır.
Adım adım çözüm
- 1
Tam hata mesajını not edin
Siteyi açın ve olası hata numarası dahil tüm mesajı kopyalayın. Yalnızca genel bir mesaj görünüyorsa
wp-config.phpdosyasının bir kopyasını kaydedin, ardındandefine('WP_DEBUG', true);vedefine('WP_DEBUG_DISPLAY', true);satırlarıyla hata gösterimini geçici olarak açın. Bunu yalnızca kısa bir süre için ve herkese açık bir sitede yapmayın, çünkü mesajları ziyaretçiler görebilir; işiniz bitince mutlaka kapatın. Tam metin, nedeni büyük ölçüde daraltır. - 2
MySQL sunucusunun çalışıp çalışmadığını kontrol edin
Barındırma panelinde (cPanel, Plesk veya benzeri) ya da barındırma hizmetinin durum sayfasında MySQL hizmetinin kullanılabilir olup olmadığını ve kaynak sınırına ulaşılıp ulaşılmadığını kontrol edin. Sunucu çökmüşse veya bağlantı sınırına ulaşılmışsa iyileşmeyi bekleyin ya da barındırma desteğine başvurun. Aynı barındırma hizmetindeki diğer siteler çalışıyorsa sorun büyük olasılıkla sizin veritabanınızdadır.
- 3
wp-config.php dosyasını açın ve bilgileri kontrol edin
FTP istemcisi veya paneldeki dosya yöneticisi aracılığıyla sitenin kök dizinindeki
wp-config.phpdosyasını açın.DB_NAME,DB_USER,DB_PASSWORDveDB_HOSTdeğerlerini barındırma panelindeki bilgilerle karşılaştırın. Boşluklara, büyük küçük harf duyarlılığına ve parolanın tırnak içinde olup olmadığına dikkat edin. - 4
Veritabanı kullanıcısını ve yetkilerini kontrol edin
Barındırma panelinde MySQL veritabanları ve kullanıcıları bölümünü açın.
wp-config.phpdosyasındaki kullanıcının var olduğundan, tam olarak o veritabanına atandığından ve tüm yetkilere sahip olduğundan emin olun. Değilse yeniden atayın veya parolayı sıfırlayıp yenisiniwp-config.phpdosyasına yazın. - 5
DB_HOST ve bağlantı noktasını kontrol edin
Barındırma hizmeti ayrı bir veritabanı sunucusu kullanıyorsa
DB_HOSTlocalhostdeğil, barındırma hizmetinin size verdiği ad veya IP adresidir, bazensunucu_adi:3306biçiminde bir bağlantı noktasıyla birlikte. Doğru değeri barındırma belgelerinde veya panelde arayın vewp-config.phpdosyasına yazın. - 6
Daha fazla değişiklik yapmadan önce yedek alın
Veritabanına dokunmadan önce dosyaların bir kopyasını indirin ve veritabanını phpMyAdmin veya barındırma aracılığıyla dışa aktarın.
wp-config.phpdosyasının bir kopyasını da saklayın. Böylece bir şeyler ters giderse önceki duruma dönebilirsiniz. - 7
Veritabanının ve tabloların var olup olmadığını kontrol edin
phpMyAdmin'de
wp-config.phpdosyasındaki adla bir veritabanının var olup olmadığını ve$table_prefixile eşleşen ön eke sahip tablolar içerip içermediğini kontrol edin. Tablolar boşsa veya eksikse veritabanı büyük olasılıkla silinmiştir ya da içe aktarma başarısız olmuştur. - 8
Tablolar bozuksa onarın
phpMyAdmin'de tabloları seçin ve onarım (
Repair table) seçeneğini seçin. Onarım işe yaramazsa veritabanını son yedekten geri yükleyin. Geri yükledikten sonrawp-config.phpdosyasındaki bilgileri yeniden kontrol edin. - 9
Siteyi test edin ve hata ayıklamayı kapatın
Siteyi ve
/wp-adminadresini tarayıcının gizli penceresinde açın. YükleniyorsaWP_DEBUGveWP_DEBUG_DISPLAYsatırlarını kaldırın veyafalseolarak ayarlayın. Hata devam ediyorsa kullanıcı ve ana bilgisayar kontrolü adımına geri dönün.
Hiçbir şey işe yaramazsa
wp-config.php dosyasındaki bilgiler doğruysa, kullanıcı ve yetkiler doğruysa ve veritabanı varsa sorun büyük olasılıkla sunucu tarafındadır. Bu durumda barındırma hizmetinde bir destek talebi açın ve tam hata mesajını, hatanın başladığı zamanı ve hemen öncesinde bir değişiklik yapıp yapmadığınızı belirtin. Veritabanı bozuksa barındırma hizmeti son yedeği geri yükleyebilir, ancak o yedekten sonra oluşan içeriği kaybedersiniz. WooCommerce kullanan siteler için veritabanının boyut veya bağlantı sayısı sınırına ulaşıp ulaşmadığını da kontrol edin, çünkü bu durumda hata önce aralıklı olarak ortaya çıkmaya başlar, sonra sürekli hale gelir.
Tekrarlanmaması için
- Veritabanı ve dosyaların otomatik yedeklerini düzenli olarak alın ve başarıyla geri yüklenebildiklerini kontrol edin
- Veritabanı kullanıcısının parolasını `wp-config.php` dosyasında aynı anda değişiklik yapmadan değiştirmeyin
- Her site taşımasından önce veritabanı bilgilerinin kaydını tutun
- Barındırma panelinde MySQL kaynak kullanımını ve bağlantı sayısını izleyin
Ne zaman uzmana başvurmalı
Barındırma paneline erişemiyorsanız, doğru veritabanı bilgilerini bilmiyorsanız veya veritabanı bozuksa, tabloları kendiniz değiştirip veri kaybı riskini almaktansa IT desteğine başvurmanız daha iyidir.
Web sitesi yapımı · Hızlı, SEO uyumlu, çok dilli web siteleriSık sorulan sorular
Veritabanı hatası sitenin kalıcı olarak kaybolduğu anlamına mı gelir?
Hayır. Çoğu durumda site ve içerik zarar görmez, yalnızca WordPress veritabanına bağlanamaz. `wp-config.php` dosyasındaki bilgiler ve veritabanı kullanıcısı eşleşirse site içerik kaybı olmadan geri döner.
Sorunun benim veritabanımda mı yoksa sunucuda mı olduğunu nasıl anlarım?
Aynı barındırma hizmetindeki diğer siteler çalışıyorsa sorun sizin veritabanınızda veya erişim bilgilerinizdedir. Onlar da çalışmıyorsa büyük olasılıkla MySQL sunucusu çökmüştür ve bu durumda yalnızca barındırma desteği yardımcı olabilir.
Veritabanını phpMyAdmin olmadan onarabilir miyim?
Barındırma hizmeti panelde bir veritabanı onarım aracı sunuyorsa veya komut satırına erişiminiz varsa onarabilirsiniz. Bunlar yoksa en güvenlisi veritabanını yedekten geri yüklemek veya barındırma hizmetinden bunu yapmasını istemektir.