Wordpress, Blog Üzerine, Wordpress Dersleri, Wordpress Eğitimleri, Wordpress Kodları, Wordpress Haberleri,Wordpress Tutorials,WpMavi,Error Establishing a Database Connection Hatası, Wordpress Hataları
------------------------------------------
Error Establishing a Database Connection hatası bir çok sebepten ortaya çıkabilen, wordpress kullanıcıların sıklıkla karşılaştığı en baş ağrıtıcı sorunlardan bir tanesidir.
Error Establishing a Database Connection hatası web sitenizde hiç bir değişiklik yapmadığınız halde bile karşınıza çıkabilir.
Daha dün kendi sitemde bu hatayla karşılaştım ve problemi bulup düzeltmem yarım saatimi aldı. Sorunu ararken farkettim ki, bununla ilgili yazılmış detaylı bir Türkçe makale yok.
Bende bu yazımda sizlere Error Establishing a Database Connection hatası almanıza nelerin sebebiyet verdiğini ve bu sorunu nasıl çözeceğinizi detaylı bir şekilde anlatmaya çalışacağım.
Önemli: Alttaki işlemleri uygulamadan önce sitenizin yedeğini almanızı şiddetle tavsiye ederim. Eğer site yedeği almayı bilmiyorsanız, WordPress Site Yedeği Alma – Site Yedekleme başlıklı yazımda yedekleme işlemini nasıl yapacağınızı detaylı anlattım.
Neden Error Establishing a Database Connection Hatası Alıyoruz?
#Error Establishing a Database Connection hatası almanızın sebebi, site dosyalarınızın veritabanıyla bağlantı kuramamasından kaynaklıdır.
Hatanın ana sebebini tam olarak biliyoruz fakat hatayı baş ağrıtan bir hata yapan, wordpress site dosyalarınızla veritabanı arasındaki bağlantı kopukluğunun bir çok sebepten kaynaklanabiliyor olması.
WordPress veritabanı kullanıcı adınızın veya şifrenizin veya veritabanı isminizin yanlış olması veya değiştirilmiş olması, vetabanı sunucunuzdan cevap alamıyor olmanız yada veritabanınız çökmüş olması gibi durumları Error Establishing a Database Connection hatasına sebep olan durumlar olarak gösterebiliriz.
Adım 1: Error Establishing a Database Connection hatası /wp-admin/ Uzantasında da Oluşuyor mu?
Error Establishing a Database Connection hatası aldığınızda ilk yapmanız gereken bu hatanın sitenizin admin panelinde de oluşup oluşmadığını kontrol etmek. Yani, sitenizin ön yüzü ile arka yüzü (admin paneli) için gösterilen hata mesajı aynı mı ?
Sitenizin iki yüzü de Error Establishing a Database Connection hatasını mı gösteriyor yoksa admin panelinde farklı bir hata mı alıyorsunuz ?
Eğer Error Establishing a Database Connection hatası admin panelinizde de (dashboard) oluşuyorsa yani sitenizin tamamı için bu hatayı alıyorsanız, bu kısmı atlayarak aşağıda bulunan ikinci adıma geçin.
Eğer admin panelinde “One or more database tables are unavailable. The database may need to be repaired” gibi farklı bir hata alıyorsanız, yapmanız gereken sadece wordpress sitenizin veritabanını onarmak.
Veritabanı onarmayı ise alttaki kodu wp-config.php dosyanıza ekleyerek yapabilirsiniz;
define(
'WP_ALLOW_REPAIR'
, true);
Kod ekledikten sonra http://www.sizinsiteniz.com/wp-admin/maint/repair.php adresine gidin ve karşınıza alttaki resimde olduğu gibi bir ekran çıkacaktır.
Bu noktada repair database yada repair and optimize database butonlarından birine tıklayarak veritabanınızı onarabilirsiniz.
Önemli:Bu işlemle, yani yukarıda wp-config.php dosyasına eklediğimiz koddan dolayı aslında http://www.sizinsiteniz.com/wp-admin/maint/repair.php adresimizi herkese görünür kıldık yani herhangi biri bu url adresine girip sitenizin veritabanı onarma işlemini dışardan da yapabilir.
#O yüzden bu işlemi tamamladıktan sonra wp-config.php adresine tekrar girip eklediğimiz kodu silmeniz gerekli.
Eğer veritabanınızı onardıktan sonra hala aynı hatayı almaya devam ediyorsanız ozaman yazımı okumaya devam etmelisiniz.
Adım 2: Wp-Config Dosyasını Kontrol Etme
WordPress dosyaları arasında en önemli dosyalardan biride wp-config.php dosyasıdır. Bu dosya veritabanınızla site dosyalarınızın birbirine bağlamasını sağlar.
Eğer veritabanı şifrenizi yada kullanıcı adınızı değiştirdiyseniz ve bu değişikliği wp-config.php dosyanızda belirtmediyseniz bu durum Error Establishing a Database Connection hatası almaza sebebiyet verir.
Yeni veritabanı kullanıcı adınızı ve şifrenizide wp-config.php dosyasında düzenlerseniz sorun ortadan kalkar. Sorun bu değilse okumaya devam…
Öncelikle yapmanız gereken wp-config-php dosyanıza gidip tüm bilgilerin doğruluğunu kontrol etmeniz.
define('DB_NAME', 'database-name');
define('DB_USER', 'database-username');
define('DB_PASSWORD', 'database-password');
define('DB_HOST', 'localhost');
Önemli: Db_host kısmı herzaman localhost olmayabilir. Bu genelde böyledir fakat bazı host firmaları farklı prefixler kullanabilmektedir. Bunu hostunuza sorup DB_HOST’un “localhost” olup olmadığını teyid edebilirsiniz.
Fakat söylediğim gibi bu, çoğu host firmasında localhost olarak geçer o yüzden bunu Error Establishing a Database Connection hatası almanıza sebep olacak son varsayım olarak düşünmenizi tavsiye ederim.
Eğer kontrol ettiğiniz herşey doğruysa veya yanlışı düzelttikten sonra hala Error Establishing a Database Connection hatası alıyorsanız bu, hatanın MySQL üzerinde olduğuna işarettir.
Adım 3: MySQL Serverını Kontrol Etme
Error Establishing a Database Connection hatası almanıza sebep olan bir diğer etken ise sitenizin çok fazla trafik alması olabilir.
Buda serverınızın yani hostunuzun aldığınız trafiği kaldıramamasına yani Error Establishing a Database Connection hatası almanıza sebep olur ki özelliklede paylaşımlı hosting (public hosting) kullanıyorsanız.
Bu durumda yapabileceğiniz en iyi şey hostunuzla bağlantı kurup MySQL serverınızın trafiği kaldırıp kaldırmadığını sormanızdır.
Eğer bu işlemi hostunuzla bağlantıya geçmeden kendiniz yapmak istiyorsanız, aynı server üzerindeki diğer web sitelerinizi kontrol edin eğer o sitelerinizde de aynı hatayı alıyorsanız, Error Establishing a Database Connection hatası almanızın kesin sebebi MySQL serverınızdan kaynaklıdır.
1-Eğer aynı server üzerinde başka bir siteniz yoksa cPanel’inize gidip phpmyadmin üzerinden veritabanınıza bağlanın. Eğer bağlanabiliyorsanız, birde kullanıcıların veritabanınıza ulaşma izinlerini kontrol etmeniz gerekli.
Bunu yapmak için sitenizde testconnection.php isminde bir dosya oluşturun ve aşağıdaki kodu bu dosyanın içine yapıştırın.
<?php
$link = mysql_connect('localhost', 'veritabanı_isminiz', 'veritabanı_şifreniz');
if (!$link) {
die('Could not connect: ' . mysql_error());
}
echo 'Connected successfully';
mysql_close($link);
?>
Önemli:Şifre kısmını ve kullanıcı adını kendi kullanıcı bilgilerinizle değiştirdiğinizden emin olun.
Kodu ekledikten sonra tarayıcınızdan testconnectiong.php isminde oluşturduğunuz URL adresine gidin ( siteniz.com/testconnection.php
)
Eğer adrese gittiğinizde “Connected successfully” mesajı alırsanız, yani başarılı bir şekilde bağlantı sağlarsanız bu ziyaretçilerinizin wordpress sitenizin veritabanına bağlanması için yeterli izinleri olduğunu gösterir.
Eğer burda bir hata alıryosanız öncelikle wp-config.php dosyanıza geri dönüp tekrar herşeyi gözden geçirin ve bu işlemi tekrar gerçekleştirin. Eminim ki atladığınız bir nokta var.
2-Eğer cPanel’inize gidip phpmyadmin üzerinden veritabanınıza bağlanmaya çalıştığınızda bağlanamıyor ve alttaki gibi bir hata alıyorsanız;
Access denied for user ‘foo’@’%’ (using password: YES)
Serverlarınızda bir hata var demektir. Bu sadece serverlarınızın kapalı olduğu anlamına gelmez aynı zamanda kullanıcı izinlerinde de (user permission) bir problem olduğunun işareti olabilir.
Be bu hatayı aldığımda ve cPanel üzerinden phpmyadmin paneline ulaşım sağlamaya çalıştığımda bana #1215 – Access denied for user ‘taa’%’@’ (using password: YES)
gibi bir hata verdi.
Turhost ile bağlantıya geçtiğimde kullanıcı izinlerinin (user’s permission) bir şekilde reset yediğini söylediler. Kendileride nasıl resetlendiğini bulamadı fakat kullanıcı izinlerimi değiştirdiklerinde sitem tekrar eski haline döndü.
Sonuç olarak eğer cPanel üzerinden phpmyadmin paneline ulaşmaya çalışırken yada testconnection.php testini gerçekleştirdiğinizde (doğru veritabanı bilgileriyle) Error Establishing a Database Connection hatası almaya devam ediyorsanız, hostunuzlabağlantıya geçmelisiniz.
---------------------------------------
**Bu yazı wpmavi.com adresinden alınmıştır. Sponsor Bayram Cigerli
comment 0 yorum
more_vert