WordPress Hosting Üzerinde “Error Establishing Database Connection” Hatası
WordPress Hosting Üzerinde “Error Establishing Database Connection” Hatası
“Error establishing a database connection” hatası, WordPress’in veritabanına bağlanamadığı durumlarda oluşur. Bu, çoğunlukla yanlış veritabanı bilgileri (DB name, kullanıcı, parola), veritabanı sunucusunun (MySQL/MariaDB) cevap vermemesi ya da hosting kaynak limitlerinin aşılması nedeniyle ortaya çıkar. Aşağıdaki adımlarla hatayı hızlıca teşhis edip çözebilirsiniz.
- 1) wp-config.php Dosyasını Kontrol Edin
- 2) cPanel’den Veritabanının Var Olduğunu Doğrulayın
- 3) Kullanıcı Yetkilerini Kontrol Edin
- 4) Veritabanı Sunucusunun Çalıştığını Kontrol Edin
- 5) phpMyAdmin ile Giriş Yapmayı Deneyin
- 6) Bozuk Veritabanını Onarma (WordPress Built-in)
- 7) Fazla Trafik / Kaynak Limiti Problemleri
- 8) DNS / Uzak Veritabanı Senaryosu
- 9) Hata Loglarını Kontrol Edin
- 10) Güvenlik/Firewall Erişimini Kontrol Edin
- Sonuç
1) wp-config.php Dosyasını Kontrol Edin
Önce WordPress’in veritabanına bağlanmak için kullandığı ayarları doğrulayın. cPanel → File Manager → sitenizin kök dizini → wp-config.php.
define( 'DB_NAME', 'kullanici_wp' ); define( 'DB_USER', 'kullanici_wp' ); define( 'DB_PASSWORD', 'guclu_sifre' ); define( 'DB_HOST', 'localhost' ); // bazı hostinglerde: 127.0.0.1 veya mysql.sunucuadi.com
- DB_NAME: cPanel’de oluşturduğunuz veritabanı adıyla %100 aynı olmalı.
- DB_USER / DB_PASSWORD: Aynı veritabanına yetkili kullanıcı ve şifresi olmalı.
- DB_HOST: Pek çok paylaşımlı hostingde “localhost” çalışır; ama bazı Plesk/cPanel sağlayıcıları farklı host kullanır.
2) cPanel’den Veritabanının Var Olduğunu Doğrulayın
- cPanel → MySQL Databases bölümüne girin.
- Current Databases listesinde
wp-config.php’deki DB_NAME görünüyor mu kontrol edin. - Görünmüyorsa ya yanlış isim yazılmıştır ya da veritabanı silinmiştir.
3) Kullanıcı Yetkilerini Kontrol Edin
cPanel’de veritabanı kullanıcısının ilgili veritabanına atanmış olması gerekir:
- cPanel → MySQL Databases
- “Add User To Database” bölümünde ilgili kullanıcıyı ilgili veritabanına ekleyin.
- “ALL PRIVILEGES” işaretleyin.
Eksik yetki de bağlantı hatasına yol açabilir.
4) Veritabanı Sunucusunun Çalıştığını Kontrol Edin
SSH erişiminiz varsa MySQL servisini sorgulayın:
systemctl status mysql # veya systemctl status mariadb
Paylaşımlı hostingdeyseniz, sağlayıcınız tarafında anlık MySQL kesintisi olabilir. Bu durumda hata geçicidir.
5) phpMyAdmin ile Giriş Yapmayı Deneyin
cPanel → phpMyAdmin → açılıyor mu? Aynı kullanıcı adı/şifre ile phpMyAdmin’e girebiliyorsanız, veritabanı çalışıyordur ve sorun büyük ihtimalle wp-config.php içindeki bilgilerde veya WordPress çekirdeğinde.
6) Bozuk Veritabanını Onarma (WordPress Built-in)
WordPress’te veritabanı tablolarında bozulma varsa bağlantı kurulamayabilir. wp-config.php dosyasına geçici olarak şunu ekleyin:
define('WP_ALLOW_REPAIR', true);
Sonra tarayıcıdan şu adresi açın:
https://alanadiniz.com/wp-admin/maint/repair.php
“Repair Database” veya “Repair and Optimize Database” butonlarını çalıştırın. İşlem bitince bu satırı wp-config.php’den kaldırmayı unutmayın.
7) Fazla Trafik / Kaynak Limiti Problemleri
Paylaşımlı hostinglerde yoğun trafik veya çok sayıda eşzamanlı sorgu MySQL’e erişimi kısıtlayabilir. Bu durumda:
- 5–10 dakika bekleyip tekrar deneyin,
- MySQL slow query loglarını inceleyin (varsa),
- Hosting kontrol panelinden kaynak kullanımınızı kontrol edin.
Sürekli tekrar ediyorsa, daha yüksek kaynaklı Kurumsal Hosting veya VDS’e geçmeyi düşünün.
8) DNS / Uzak Veritabanı Senaryosu
Eğer WordPress farklı sunucudaysa (site bir yerde, MySQL başka yerde) host name hatalıysa da bu hata alınır. DB_HOST’a portla birlikte yazabilirsiniz:
define( 'DB_HOST', 'mysql.domain.com:3306' );
9) Hata Loglarını Kontrol Edin
cPanel → Metrics → Errors veya dosya yöneticisinde /home/kullanici/error_log içinde ayrıntılı hata görülebilir.
10) Güvenlik/Firewall Erişimini Kontrol Edin
Sunucuda mod_security, CSF veya başka bir güvenlik duvarı MySQL bağlantısını engelliyorsa bu da benzer hataya yol açar. Özellikle “localhost” yerine uzak IP yazdıysanız bu ihtimali de gözden geçirin.
Sonuç
“Error establishing a database connection” hatası temelde “WordPress veritabanına ulaşamıyor” demektir. Önce wp-config.php içindeki bilgileri, ardından cPanel’deki veritabanı/kullanıcı eşlemesini, sonra da MySQL servisinin durumunu kontrol ederek sorunu sistematik biçimde çözebilirsiniz. Daha yüksek performanslı ve kesintisiz WordPress barındırma için HostLigo’nun WordPress’e optimize edilmiş hosting paketlerini kullanabilirsiniz.