Wordpress Veritabanı Bağlantısı Kurulamıyor Hatası (Error Establishing a Database Connection) rehberi: Wordpress Veritabanı Bağlantısı Kurulamıyor Hatası,.
GİRİŞ
Wordpress sitenizin veritabanı bağlantısı kurulamıyor hatası, ziyaretçilerin “Error establishing a database connection” mesajıyla karşılaşmasına neden olur ve sitenizin tamamen erişilemez hâle gelmesine yol açar. Bu sorun, hem kullanıcı deneyimini hem de SEO performansını ciddi şekilde etkiler; arama motorları hatalı sayfaları indekslerken sitenizin otoritesi de zarar görür.
Uzman İpucu:Hata mesajı genellikle “beyaz ekran” (white screen) ile birlikte görülür; bu durumda hata günlüğünü (error log) kontrol etmek ilk adım olmalıdır.
TEKNİK ALTYAPI VE YAPILANDIRMA
Wordpress, PHP tabanlı bir içerik yönetim sistemidir ve MySQL/MariaDB veritabanına bağlanmak için wp-config.php dosyasındaki sabitleri (DB_NAME, DB_USER, DB_PASSWORD, DB_HOST) kullanır. Bağlantı kurulamadığında, PHP MySQL uzantısı bir istisna fırlatır ve WordPress standart hata sayfasını gösterir.
# Temel yapılandırma dosyası
Aşağıdaki kod bloğu, wp-config.php dosyasının veritabanı kısmının doğru bir örneğini gösterir:
<?php
/ WordPress için temel ayarlar - MySQL ayarları */
define( 'DB_NAME', 'veritabani_adi' );
define( 'DB_USER', 'veritabani_kullanici' );
define( 'DB_PASSWORD', 'gizli_sifre' );
define( 'DB_HOST', 'localhost' ); // Çoğu paylaşımlı sunucuda localhost
define( 'DB_CHARSET', 'utf8mb4' );
define( 'DB_COLLATE', '' );
# MySQL servisinin kontrolü (Bash)
Sunucu tarafında MySQL servisi çalışmıyorsa, WordPress hiçbir zaman bağlanamaz. Aşağıdaki komutlar, servis durumunu kontrol eder ve gerektiğinde yeniden başlatır:
MySQL servis durumunu kontrol et
systemctl status mysql
Servis duruyorsa yeniden başlat
sudo systemctl restart mysql
Bağlantı testi (kullanıcı, şifre ve veritabanı adı değiştirilmeli)
mysql -u veritabani_kullanici -p'gizli_sifre' -h localhost -e "USE veritabani_adi; SHOW TABLES;"
# PHP uzantılarının doğrulanması
WordPress, MySQLi ya da PDO uzantılarını gerektirir. Aşağıdaki komut, yüklü uzantıları listeler:
php -m | grep -i 'mysqli\|pdo_mysql'
Eğer uzantılar eksikse, aşağıdaki komutla kurulabilir (Ubuntu/Debian örneği):
sudo apt-get install php-mysql sudo systemctl restart apache2 # Apache kullananlar için
veya
sudo systemctl restart php-fpm # Nginx + PHP‑
BİLEŞEN VE DEĞERLENDİRME TABLOSU
| Bileşen | İşlev | Önem Derecesi | Etki |
|---|---|---|---|
wp-config.php | Veritabanı kimlik bilgileri ve karakter seti tanımları | Bağlantı hatasının %80 i burada oluşur | |
| MySQL servisi | Veritabanı motorunun çalışması | Servis kapalıysa tüm istekler reddedilir | |
| PHP MySQL uzantısı | PHP’nin MySQL ile iletişimini sağlar | Uzantı eksikse fatal error alınır | |
| Sunucu firewall / SELinux | Bağlantı portlarını (3306) filtreleyebilir | Yanlış kural bağlantıyı engeller |
ADIM ADIM UYGULAMA VE İŞLEM ADIMLARI
-Adım 1:wp-config.php dosyasındaki DB_NAME, DB_USER, DB_PASSWORD ve DB_HOST değerlerini kontrol edin.
-Adım 2:MySQL servisinin çalıştığından emin olun; systemctl status mysql komutuyla servis durumunu inceleyin.
-Adım 3:PHP MySQL uzantısının yüklü olduğunu doğrulayın; eksikse sudo apt-get install php-mysql komutunu çalıştırın.
-Adım 4: Veritabanı kullanıcı izinlerini kontrol edin; aşağıdaki SQL komutu ile gerekli yetkileri verin:
GRANT ALL PRIVILEGES ON veritabani_adi.* TO 'veritabani_kullanici'@'localhost' IDENTIFIED BY 'gizli_sifre';
FLUSH PRIVILEGES;
- Adım 5:
wp-config.phpdosyasındakiDB_HOSTdeğeri doğru mu? Yerel sunucu içinlocalhost, dış sunucu için IP ya da tam alan adı kullanılmalı.
-Adım 6:Firewall ya da SELinux kurallarını inceleyin; 3306 portunun açık olduğundan emin olun.
UFW ile 3306 portunu açma (Ubuntu)
sudo ufw allow 3306/tcp sudo ufw reload
-Adım 7:Tarayıcı önbelleğini temizleyin ve WordPress yönetim paneline tekrar giriş yapın.
GELECEĞE YÖNELİK EN İYİ UYGULAMALAR (BEST PRACTICES)
-Veritabanı yedekleme:mysqldump ile günlük yedek alın; bir yedekleme planı oluşturun.
-Güçlü şifre politikası:Veritabanı kullanıcı şifresi en az 12 karakter, büyük/küçük harf, rakam ve özel karakter içermelidir.
-Bağlantı havuzu:WP_DB_REPAIR ve WP_CACHE sabitlerini etkinleştirerek bağlantı yükünü azaltın.
-SSL/TLS:DB_HOST üzerinden TLS ile bağlanmak için mysqli_ssl_set fonksiyonunu kullanın.
-Sunucu izleme:netdata ya da htop gibi araçlarla MySQL ve PHP performansını sürekli izleyin.
Önemli Uyarı:Veritabanı kullanıcı şifresini wp-config.php içinde düz metin olarak tutmak zorunlu bir durumdur; bu dosyanın dosya izinlerini 640(sahibi okuyup yazabilir, grup okuyabilir) olarak ayarlayın ve web kökünden dışarıda bir konuma taşıyın.
SIKÇA SORULAN SORULAR
# WordPress “Error establishing a database connection” hatasını alıyorum, ancak wp‑config.php dosyam doğru görünüyor. Ne yapmalıyım?
Bu durumda MySQL servisi çalışmıyor ya da firewall 3306 portunu engelliyor olabilir. systemctl status mysql ve ufw status komutlarıyla servis ve ağ kurallarını kontrol edin.
# Veritabanı kullanıcı izinleri doğru, fakat hâlâ bağlantı hatası alıyorum. Sorun nerede olabilir?
MySQL sunucusu “skip‑networking” ya da “bind‑address” ayarlarıyla yalnızca yerel bağlantıya izin veriyor olabilir. my.cnf dosyasındaki bind-address satırını 0.0.0.0 ya da sunucu IP’si olarak değiştirin ve MySQL’i yeniden başlatın.
# wp‑config.php dosyasını korumak için ne tür dosya izinleri önerirsiniz?
Dosya sahibinin read/write (600) ya da grup ile read (640) izni alması yeterlidir. Ayrıca .htaccess dosyasıyla bu dosyaya doğrudan HTTP erişimini engelleyin:
<Files wp-config.php>
Order allow,deny
Deny from all
</Files>
SONUÇ VE KONTROL LİSTESİ
-Veritabanı kimlik bilgileriwp-config.php içinde doğru girildi mi?
-MySQL servisi çalışıyor ve 3306 portu açık mı?
-PHP MySQL uzantısı yüklü ve etkin mi?
-Kullanıcı izinleri veritabanı üzerinde yeterli mi?
-Firewall / SELinux kuralları bağlantıyı engellemiyor mu?
-Dosya izinleri wp-config.php için güvenli bir seviyede mi?
Bu kontrol listesi, “Wordpress Veritabanı Bağlantısı Kurulamıyor Hatası” ile karşılaştığınızda sorunu sistematik olarak izole etmenizi ve kalıcı bir çözüm uygulamanızı sağlar.
Sıkça Sorulan Sorular
# Wordpress Veritabanı Bağlantısı Kurulamıyor Hatası (Error Establishing a Database Connection) neden önemlidir?
Doğru uygulandığında web sitenizin kullanıcı deneyimini, SEO performansını ve yüklenme hızlarını ciddi oranda iyileştirerek genel site kalitesini artırır.
# Wordpress Veritabanı Bağlantısı Kurulamıyor Hatası (Error Establishing a Database Connection) işlemi ne kadar sürede tamamlanır?
Sitenizin karmaşıklığına ve sayfa sayısına bağlı olarak, temel yapılandırma adımları 1 ila 2 saat içinde tamamlanabilmektedir.
# Bu işlem için eklenti kullanmak zorunlu mudur?
Hayır, birçok optimizasyon ve ayar manuel kod düzenlemeleriyle yapılabilir; ancak yönetimi kolaylaştırmak adına güvenilir eklentiler tercih edilebilir.
Wordpress Virüs Temizleme
• YöneticiTürkiye'nin en iyi WordPress virüs temizleme hizmetini sizlere vererek, bulaşan tüm zararlı kodları veritabanınız bozulmadan temizliyor ve sitenizi hem güvenli hem de eski performansına kavuşturuyoruz.
WordPress Sitenizde Güvenlik Tehdidi mi Var?
Siber güvenlik mühendislerimiz 2 saat içinde sitenizi derinlemesine tarayıp tüm zararlı yazılımları temizlesin.