Error Establishing a Database Connection Hatası [Detaylı Çözüm]

Niks

Emektar üye
Katılım
28 Mart 2019
Mesajlar
101
Beğeniler
0
#1
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 konuyu okuyan (Kullanıcı: 0, Ziyaretçi: 1)


Yasal uyarı

İçerik sağlayıcı paylaşım sitelerinden biri olan wabbuz.com T.C.K 20.ci Madde ve 5651 Sayılı Kanun'un 4.cü maddesinin (2).ci fıkrasına göre ve kullanıcıların sisteme kayıt olurken kabul ettikleri kurallar çerçevesinde tüm kullanıcılar yaptıkları paylaşımlardan sorumludur.

Wabbuz.com hakkında yapılacak tüm hukuksal Şikayetler buradan iletişime geçilmesi halinde ilgili kanunlar ve yönetmelikler çerçevesinde en geç 1 (Bir) Hafta içerisinde tarafımızca gereken işlemler yapılacak ve tarafınıza dönüş sağlanacaktır.

İstatistikler

Konular
2,162
Mesajlar
2,216
Kullanıcılar
111
24 saatte açılan konu
0
24 saatte yazılan mesaj
0
Son 30 günde kaydolan üye
15
Son üye
sildağhurdacılık
Üst Alt