{"id":5064,"date":"2026-08-30T17:58:33","date_gmt":"2026-08-30T14:58:33","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/?p=5064"},"modified":"2026-08-30T17:46:45","modified_gmt":"2026-08-30T14:46:45","slug":"wordpress-veritabani-baglanti-hatasi-5-cozum","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/wordpress-veritabani-baglanti-hatasi-5-cozum\/","title":{"rendered":"WordPress Veritaban\u0131 Ba\u011flant\u0131 Hatas\u0131: 5 \u00c7\u00f6z\u00fcm"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" role=\"navigation\" aria-label=\"Table of Contents\" data-nosnippet class=\"toc_transparent no_bullets toc_numbered toc_title_center\"><p class=\"toc_title\">\u0130\u00e7indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#WordPress_veritabani_baglanti_hatasi_neden_cikar\"><span class=\"toc_number toc_depth_1\">1.<\/span> WordPress veritaban\u0131 ba\u011flant\u0131 hatas\u0131 neden \u00e7\u0131kar?<\/a><\/li><li><a href=\"#Ilk_dakikalarda_neyi_kontrol_etmeli\"><span class=\"toc_number toc_depth_1\">2.<\/span> \u0130lk dakikalarda neyi kontrol etmeli?<\/a><\/li><li><a href=\"#1_wp-configphp_icindeki_bilgileri_dogrulayin\"><span class=\"toc_number toc_depth_1\">3.<\/span> 1. wp-config.php i\u00e7indeki bilgileri do\u011frulay\u0131n<\/a><\/li><li><a href=\"#2_Veritabani_servisi_calisiyor_mu\"><span class=\"toc_number toc_depth_1\">4.<\/span> 2. Veritaban\u0131 servisi \u00e7al\u0131\u015f\u0131yor mu?<\/a><\/li><li><a href=\"#3_DB_HOST_ve_baglanti_soketini_inceleyin\"><span class=\"toc_number toc_depth_1\">5.<\/span> 3. DB_HOST ve ba\u011flant\u0131 soketini inceleyin<\/a><\/li><li><a href=\"#4_Tablolari_ve_bakim_durumunu_kontrol_edin\"><span class=\"toc_number toc_depth_1\">6.<\/span> 4. Tablolar\u0131 ve bak\u0131m durumunu kontrol edin<\/a><\/li><li><a href=\"#5_Eklenti_ve_agir_sorgulari_ayirin\"><span class=\"toc_number toc_depth_1\">7.<\/span> 5. Eklenti ve a\u011f\u0131r sorgular\u0131 ay\u0131r\u0131n<\/a><\/li><li><a href=\"#Belirtiye_gore_baslangic_noktasini_daraltin\"><span class=\"toc_number toc_depth_1\">8.<\/span> Belirtiye g\u00f6re ba\u015flang\u0131\u00e7 noktas\u0131n\u0131 daralt\u0131n<\/a><\/li><li><a href=\"#Hosting_destegine_hangi_bilgileri_iletmelisiniz\"><span class=\"toc_number toc_depth_1\">9.<\/span> Hosting deste\u011fine hangi bilgileri iletmelisiniz?<\/a><\/li><li><a href=\"#Ayni_hatayi_yeniden_yasamamak_icin\"><span class=\"toc_number toc_depth_1\">10.<\/span> Ayn\u0131 hatay\u0131 yeniden ya\u015famamak i\u00e7in<\/a><\/li><li><a href=\"#Sik_Sorulan_Sorular\"><span class=\"toc_number toc_depth_1\">11.<\/span> S\u0131k Sorulan Sorular<\/a><ul><li><a href=\"#WordPress_veritabani_baglanti_hatasi_hosting_kaynakli_olabilir_mi\"><span class=\"toc_number toc_depth_2\">11.1.<\/span> WordPress veritaban\u0131 ba\u011flant\u0131 hatas\u0131 hosting kaynakl\u0131 olabilir mi?<\/a><\/li><li><a href=\"#wp-configphp_dosyasinda_hangi_satirlari_kontrol_etmeliyim\"><span class=\"toc_number toc_depth_2\">11.2.<\/span> wp-config.php dosyas\u0131nda hangi sat\u0131rlar\u0131 kontrol etmeliyim?<\/a><\/li><li><a href=\"#Veritabanini_onarmak_icin_repairphp_kullanmak_guvenli_mi\"><span class=\"toc_number toc_depth_2\">11.3.<\/span> Veritaban\u0131n\u0131 onarmak i\u00e7in repair.php kullanmak g\u00fcvenli mi?<\/a><\/li><li><a href=\"#Baglanti_hatasi_aralikli_oluyorsa_neye_bakmaliyim\"><span class=\"toc_number toc_depth_2\">11.4.<\/span> Ba\u011flant\u0131 hatas\u0131 aral\u0131kl\u0131 oluyorsa neye bakmal\u0131y\u0131m?<\/a><\/li><\/ul><\/li><\/ul><\/div>\n<h2><span id=\"WordPress_veritabani_baglanti_hatasi_neden_cikar\">WordPress veritaban\u0131 ba\u011flant\u0131 hatas\u0131 neden \u00e7\u0131kar?<\/span><\/h2>\n<p>Gece yar\u0131s\u0131 gelen <em>&#8220;Error establishing a database connection&#8221;<\/em> ekran\u0131, WordPress y\u00f6neticisinin g\u00f6rmek isteyece\u011fi son \u015feylerden biridir. Ziyaret\u00e7i siteyi g\u00f6remez, y\u00f6netim paneli a\u00e7\u0131lmaz ve hata mesaj\u0131 \u00e7o\u011fu zaman sorunun hangi katmanda oldu\u011funu s\u00f6ylemez. Web sunucusu \u00e7al\u0131\u015f\u0131yor olabilir; as\u0131l problem MariaDB veya MySQL servisi, kullan\u0131c\u0131 bilgileri, disk alan\u0131 ya da bozulmu\u015f bir tablo taraf\u0131nda bulunabilir.<\/p>\n<p>Destek biletlerinde s\u0131k g\u00f6rd\u00fc\u011f\u00fcm hata, bu ekran gelir gelmez <code>wp-config.php<\/code> dosyas\u0131n\u0131n rastgele de\u011fi\u015ftirilmesi. Bazen do\u011fru yere bak\u0131l\u0131yor, bazen de \u00e7al\u0131\u015fan site yeni bir sorunla ba\u015f ba\u015fa b\u0131rak\u0131l\u0131yor. Ben \u00f6nce hatan\u0131n t\u00fcm ziyaret\u00e7ilerde mi, yaln\u0131zca y\u00f6netim panelinde mi g\u00f6r\u00fcld\u00fc\u011f\u00fcn\u00fc ay\u0131r\u0131r\u0131m. Ard\u0131ndan web sunucusu, PHP ve veritaban\u0131 loglar\u0131n\u0131 ayn\u0131 zaman aral\u0131\u011f\u0131nda incelerim.<\/p>\n<p>\u015e\u00f6yle anlatay\u0131m: WordPress veritaban\u0131 ba\u011flant\u0131 hatas\u0131 tek bir ar\u0131za de\u011fildir; ayn\u0131 ekran\u0131 \u00fcreten birka\u00e7 farkl\u0131 problem s\u0131n\u0131f\u0131d\u0131r. A\u015fa\u011f\u0131daki kontrolleri d\u00fc\u015f\u00fck riskliden daha m\u00fcdahaleci olana do\u011fru s\u0131ralad\u0131m. Tablo onar\u0131m\u0131 ve dosya de\u011fi\u015fiklikleri i\u00e7in \u00f6nce yedek durumunu do\u011frulay\u0131n.<\/p>\n<h2><span id=\"Ilk_dakikalarda_neyi_kontrol_etmeli\">\u0130lk dakikalarda neyi kontrol etmeli?<\/span><\/h2>\n<p>\u00d6nce kesintinin kapsam\u0131n\u0131 belirleyin. Siteyi gizli sekmede a\u00e7\u0131n, farkl\u0131 bir a\u011fdan deneyin ve <code>\/wp-admin\/<\/code> adresini kontrol edin. Yaln\u0131zca bir eklentinin kulland\u0131\u011f\u0131 \u00f6zel sayfa a\u00e7\u0131lm\u0131yorsa sorun veritaban\u0131 ba\u011flant\u0131s\u0131ndan \u00e7ok eklentinin sorgusunda olabilir.<\/p>\n<p>Sunucuya SSH eri\u015fiminiz varsa \u015fu kontroller ilk resmi \u00e7izer:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">df -h\nfree -m\nsystemctl status mariadb --no-pager\nsystemctl status mysql --no-pager<\/code><\/pre>\n<p>\u0130lk komut disk dolulu\u011funu, ikincisi bellek durumunu, son iki komut da sisteminizde kullan\u0131lan veritaban\u0131 servisinin durumunu g\u00f6sterir. Da\u011f\u0131t\u0131ma g\u00f6re servis ad\u0131 <code>mysql<\/code> veya <code>mariadb<\/code> olabilir. \u0130kisini de k\u00f6rlemesine yeniden ba\u015flatmay\u0131n; \u00f6nce \u00e7\u0131kt\u0131y\u0131 okuyun.<\/p>\n<p>Bir gece rotasyonu unutulan access log sunucunun diskini doldurmu\u015ftu. Bilette yaln\u0131zca &#8220;site a\u00e7\u0131lm\u0131yor&#8221; yaz\u0131yordu. <code>df -h<\/code> \u00e7\u0131kt\u0131s\u0131nda k\u00f6k dosya sistemi y\u00fczde 100 dolu g\u00f6r\u00fcnce veritaban\u0131 ar\u0131zas\u0131 sand\u0131\u011f\u0131m\u0131z \u015feyin asl\u0131nda log y\u00f6netimi problemi oldu\u011funu g\u00f6rd\u00fck. O g\u00fcnden beri disk dolulu\u011fu ilk kontrollerimden biridir.<\/p>\n<p>\u0130nternette g\u00f6rd\u00fc\u011f\u00fcn\u00fcz bir komutu ne yapt\u0131\u011f\u0131n\u0131 anlamadan <code>sudo<\/code> ile \u00e7al\u0131\u015ft\u0131rmay\u0131n. \u00d6zellikle <code>curl | sudo bash<\/code> bi\u00e7imindeki kurulum \u00f6nerileri, veritaban\u0131 ar\u0131zas\u0131n\u0131 \u00e7\u00f6zmek i\u00e7in g\u00fcvenilir bir ba\u015flang\u0131\u00e7 de\u011fildir.<\/p>\n<h2><span id=\"1_wp-configphp_icindeki_bilgileri_dogrulayin\">1. wp-config.php i\u00e7indeki bilgileri do\u011frulay\u0131n<\/span><\/h2>\n<p>WordPress veritaban\u0131 bilgilerini genellikle sitenin k\u00f6k dizinindeki <code>wp-config.php<\/code> dosyas\u0131ndan okur. Be\u015f de\u011fer \u00f6zellikle \u00f6nemlidir:<\/p>\n<ul>\n<li><code>DB_NAME<\/code>: Veritaban\u0131n\u0131n ad\u0131<\/li>\n<li><code>DB_USER<\/code>: Veritaban\u0131 kullan\u0131c\u0131s\u0131<\/li>\n<li><code>DB_PASSWORD<\/code>: Kullan\u0131c\u0131n\u0131n parolas\u0131<\/li>\n<li><code>DB_HOST<\/code>: Veritaban\u0131 sunucusunun adresi veya soketi<\/li>\n<li><code>$table_prefix<\/code>: Tablolar\u0131n \u00f6neki<\/li>\n<\/ul>\n<p>Ta\u015f\u0131ma sonras\u0131nda s\u0131k kar\u015f\u0131la\u015ft\u0131\u011f\u0131m durum, veritaban\u0131n\u0131n yeni sunucuya aktar\u0131lmas\u0131 ama <code>DB_NAME<\/code> veya <code>DB_USER<\/code> de\u011ferinin eski sunucuya g\u00f6re b\u0131rak\u0131lmas\u0131d\u0131r. Panelden yeni bir veritaban\u0131 parolas\u0131 \u00fcretip <code>wp-config.php<\/code> dosyas\u0131n\u0131 g\u00fcncellememek de ayn\u0131 sonucu do\u011furur.<\/p>\n<p>Dosyay\u0131 g\u00f6r\u00fcnt\u00fclerken parolay\u0131 destek talebine, ekran g\u00f6r\u00fcnt\u00fcs\u00fcne veya ortak sohbet kanal\u0131na koymay\u0131n. De\u011ferleri sunucuda kontrol etmek i\u00e7in:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cd \/home\/kullanici\/public_html\ngrep -E &quot;DB_NAME|DB_USER|DB_HOST|table_prefix&quot; wp-config.php<\/code><\/pre>\n<p>Bu komut parolay\u0131 yazd\u0131rmadan temel ayarlar\u0131 g\u00f6sterir. \u00c7\u0131kt\u0131daki veritaban\u0131 ad\u0131yla paneldeki ad\u0131n ger\u00e7ekten ayn\u0131 oldu\u011funa bak\u0131n. cPanel veya CyberPanel gibi panellerde hesap kullan\u0131c\u0131 ad\u0131 veritaban\u0131 ad\u0131na otomatik olarak eklenebilir; \u00f6rne\u011fin <code>site_wp<\/code> yerine <code>kullanici_site_wp<\/code> kullan\u0131lmas\u0131 gerekebilir.<\/p>\n<p>Parolan\u0131n do\u011fru olup olmad\u0131\u011f\u0131n\u0131 WordPress \u00fczerinden de\u011fil, do\u011frudan istemciyle s\u0131nayabilirsiniz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">mysql -h 127.0.0.1 -u veritabani_kullanici -p veritabani_adi<\/code><\/pre>\n<p>Parola soruldu\u011funda girin. <code>Welcome to the MariaDB monitor<\/code> benzeri bir kar\u015f\u0131lama g\u00f6r\u00fcrseniz kimlik bilgileri ve a\u011f eri\u015fimi \u00e7al\u0131\u015f\u0131yor demektir. <code>Access denied<\/code> \u00e7\u0131karsa kullan\u0131c\u0131, parola veya yetki taraf\u0131na d\u00f6n\u00fcn. Parolay\u0131 komut sat\u0131r\u0131na do\u011frudan yazmay\u0131n; kabuk ge\u00e7mi\u015finde kalabilir.<\/p>\n<h2><span id=\"2_Veritabani_servisi_calisiyor_mu\">2. Veritaban\u0131 servisi \u00e7al\u0131\u015f\u0131yor mu?<\/span><\/h2>\n<p>Do\u011fru bilgilerle bile servis durmu\u015fsa WordPress ba\u011flanamaz. Bu durum bak\u0131m sonras\u0131nda veya belle\u011fi t\u00fcketen bir sorgunun ard\u0131ndan g\u00f6r\u00fclebilir. Servis durumunu ve son loglar\u0131 birlikte kontrol edin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo systemctl status mariadb --no-pager\nsudo journalctl -u mariadb -n 80 --no-pager<\/code><\/pre>\n<p>Loglarda <code>InnoDB: Unable to lock<\/code>, <code>Too many connections<\/code>, <code>Out of memory<\/code> veya disk yazma hatalar\u0131 gibi ifadeleri aray\u0131n. <code>systemctl status<\/code> servisin \u00e7al\u0131\u015f\u0131p \u00e7al\u0131\u015fmad\u0131\u011f\u0131n\u0131 s\u00f6yler; neden durdu\u011funu \u00e7o\u011fu zaman <code>journalctl<\/code> g\u00f6sterir.<\/p>\n<p>Disk doluysa MariaDB yeni ge\u00e7ici dosya veya binary log olu\u015fturamayabilir. \u00d6nce <code>df -h<\/code> ile hangi ba\u011flama noktas\u0131n\u0131n doldu\u011funu bulun, ard\u0131ndan <code>ncdu<\/code> ile alan t\u00fcketen dizinleri inceleyin. Rastgele log veya veritaban\u0131 dosyas\u0131 silmek yerine rotasyon ayar\u0131n\u0131 d\u00fczeltin. \u00d6zellikle <code>\/var\/lib\/mysql<\/code> alt\u0131ndaki dosyalar\u0131 elle silmek, kurtar\u0131labilir bir ar\u0131zay\u0131 veri kayb\u0131na \u00e7evirebilir.<\/p>\n<p>Servis durmu\u015f ve loglar yap\u0131land\u0131rma hatas\u0131 g\u00f6stermiyorsa yeniden ba\u015flatma denenebilir:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">sudo systemctl restart mariadb\nsudo systemctl status mariadb --no-pager<\/code><\/pre>\n<p>Yeniden ba\u015flatma k\u0131sa s\u00fcreli eri\u015fim sa\u011flayabilir; fakat k\u00f6k neden bellek veya disk problemiyse ayn\u0131 hata geri gelir. Payla\u015f\u0131ml\u0131 hosting kullan\u0131yorsan\u0131z bu i\u015flemi siz yapamazs\u0131n\u0131z. Hosting firmas\u0131ndan servis durumu, disk kullan\u0131m\u0131 ve ilgili zaman aral\u0131\u011f\u0131ndaki veritaban\u0131 loglar\u0131n\u0131 istemeniz gerekir.<\/p>\n<h2><span id=\"3_DB_HOST_ve_baglanti_soketini_inceleyin\">3. DB_HOST ve ba\u011flant\u0131 soketini inceleyin<\/span><\/h2>\n<p>Bir\u00e7ok Linux sunucusunda <code>DB_HOST<\/code> de\u011feri <code>localhost<\/code> oldu\u011funda WordPress TCP yerine Unix soketi kullan\u0131r. Veritaban\u0131 servisi farkl\u0131 bir soket yolu ile \u00e7al\u0131\u015f\u0131yorsa veya sa\u011flay\u0131c\u0131 uzak bir veritaban\u0131 sunucusu kullan\u0131yorsa ba\u011flant\u0131 ba\u015far\u0131s\u0131z olabilir.<\/p>\n<p>Yerel veritabanlar\u0131nda s\u0131k kullan\u0131lan deneme, <code>DB_HOST<\/code> de\u011ferini <code>127.0.0.1<\/code> yapmakt\u0131r:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">define( &#039;DB_HOST&#039;, &#039;127.0.0.1&#039; );<\/code><\/pre>\n<p><code>localhost<\/code> ile <code>127.0.0.1<\/code> ayn\u0131 davranmaz. \u0130lki \u00e7o\u011fu istemcide Unix soketine y\u00f6nlenebilir, ikincisi TCP ba\u011flant\u0131s\u0131 kurar. De\u011fi\u015fiklikten \u00f6nce dosyan\u0131n yede\u011fini al\u0131n ve PHP s\u00f6zdizimini bozmad\u0131\u011f\u0131n\u0131zdan emin olun.<\/p>\n<p>Veritaban\u0131 ayr\u0131 bir sunucudaysa <code>DB_HOST<\/code>, sa\u011flay\u0131c\u0131n\u0131n verdi\u011fi hostname ile yaz\u0131lmal\u0131d\u0131r. Uzak sunucunun g\u00fcvenlik duvar\u0131nda kaynak IP&#8217;ye izin verilmesi, MariaDB&#8217;nin dinleme adresinin uygun olmas\u0131 ve kullan\u0131c\u0131n\u0131n do\u011fru host \u00fczerinden yetkilendirilmesi gerekir. <code>user@localhost<\/code> ile <code>user@10.0.0.%<\/code> farkl\u0131 yetkilerdir.<\/p>\n<p>Ba\u011flant\u0131 portu standart de\u011filse de\u011fer \u015fu bi\u00e7imde yaz\u0131labilir:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">define( &#039;DB_HOST&#039;, &#039;db.internal.example:3307&#039; );<\/code><\/pre>\n<p>Bu ayar\u0131 de\u011fi\u015ftirirken ba\u011flant\u0131n\u0131n ger\u00e7ekten hangi sunucuya gitti\u011fini do\u011frulay\u0131n. Bir destek biletinde bunu ben de \u00f6\u011frendim: Ta\u015f\u0131ma sonras\u0131 t\u00fcm bilgiler do\u011fru g\u00f6r\u00fcn\u00fcyordu, fakat <code>DB_HOST<\/code> eski sa\u011flay\u0131c\u0131n\u0131n \u00f6zel hostname&#8217;i olarak kalm\u0131\u015ft\u0131. Yeni sa\u011flay\u0131c\u0131n\u0131n dahili adresini kulland\u0131\u011f\u0131m\u0131zda site a\u00e7\u0131ld\u0131. Ayn\u0131 sunucuda oldu\u011funu varsaymak yerine ba\u011flant\u0131y\u0131 do\u011frudan test etmek daha h\u0131zl\u0131d\u0131r.<\/p>\n<h2><span id=\"4_Tablolari_ve_bakim_durumunu_kontrol_edin\">4. Tablolar\u0131 ve bak\u0131m durumunu kontrol edin<\/span><\/h2>\n<p>Veritaban\u0131 servisi \u00e7al\u0131\u015f\u0131yor ve kimlik bilgileri do\u011fru oldu\u011fu halde baz\u0131 sayfalarda hata g\u00f6r\u00fcyorsan\u0131z tablo bozulmas\u0131 ihtimali vard\u0131r. Elektrik kesintisi, dolan disk, hatal\u0131 depolama veya yar\u0131m kalan i\u015flem bu duruma yol a\u00e7abilir.<\/p>\n<p>\u00d6nce veritaban\u0131n\u0131n d\u0131\u015fa aktar\u0131m\u0131n\u0131 al\u0131n. SSH \u00fczerinden <code>wp-cli<\/code> kullan\u0131yorsan\u0131z:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cd \/home\/kullanici\/public_html\nwp db export \/home\/kullanici\/backup-$(date +%F-%H%M).sql<\/code><\/pre>\n<p>Bu i\u015flem WordPress veritaban\u0131n\u0131 tarih ve saat i\u00e7eren bir SQL dosyas\u0131na aktar\u0131r. Dosyan\u0131n olu\u015ftu\u011funu, boyutunun makul oldu\u011funu ve farkl\u0131 bir depolama alan\u0131na kopyaland\u0131\u011f\u0131n\u0131 kontrol edin. Ayn\u0131 diskte duran tek kopya, ar\u0131za an\u0131nda g\u00fcvence de\u011fildir.<\/p>\n<p>Ard\u0131ndan tablo kontrol\u00fc yap\u0131n:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">wp db check<\/code><\/pre>\n<p>\u00c7\u0131kt\u0131da t\u00fcm tablolar\u0131n kontrol edildi\u011fini ve hata bulunmad\u0131\u011f\u0131n\u0131 g\u00f6r\u00fcrseniz tablo bozulmas\u0131 ihtimali azal\u0131r. Hatal\u0131 tablolar listelenirse hosting sa\u011flay\u0131c\u0131n\u0131z\u0131n veya veritaban\u0131 y\u00f6neticinizin \u00f6nerisini al\u0131n. MySQL istemcisiyle tablo onar\u0131m\u0131, \u00f6zellikle InnoDB tablolar\u0131nda, MyISAM i\u00e7in kullan\u0131lan basit <code>REPAIR TABLE<\/code> yakla\u015f\u0131m\u0131ndan farkl\u0131d\u0131r.<\/p>\n<p>WordPress&#8217;in yerle\u015fik onar\u0131m ekran\u0131 da kullan\u0131labilir. Bunun i\u00e7in ge\u00e7ici olarak <code>wp-config.php<\/code> i\u00e7ine \u015fu sat\u0131r\u0131 ekleyin:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">define( &#039;WP_ALLOW_REPAIR&#039;, true );<\/code><\/pre>\n<p>Ard\u0131ndan <code>https:\/\/alanadiniz.example\/wp-admin\/maint\/repair.php<\/code> adresini a\u00e7\u0131n. Bu ekran giri\u015f yapmadan eri\u015filebildi\u011fi i\u00e7in i\u015flem biter bitmez sat\u0131r\u0131 kald\u0131r\u0131n. \u00d6nce yaln\u0131zca kontrol se\u00e7ene\u011fini kullan\u0131n; ne yapt\u0131\u011f\u0131n\u0131 bilmeden onar\u0131m \u00e7al\u0131\u015ft\u0131rmak yerine tam yedek ve log ile ilerleyin.<\/p>\n<p>WordPress g\u00fcncellemesi yar\u0131da kald\u0131ysa k\u00f6k dizinde <code>.maintenance<\/code> dosyas\u0131 bulunabilir. Bu dosya genellikle veritaban\u0131 ba\u011flant\u0131 hatas\u0131 \u00fcretmez, ancak siteyi bak\u0131m ekran\u0131nda b\u0131rak\u0131r. Hata ger\u00e7ekten <em>Error establishing&#8230;<\/em> ise <code>.maintenance<\/code> dosyas\u0131n\u0131 silmek \u00e7\u00f6z\u00fcm olmayacakt\u0131r.<\/p>\n<h2><span id=\"5_Eklenti_ve_agir_sorgulari_ayirin\">5. Eklenti ve a\u011f\u0131r sorgular\u0131 ay\u0131r\u0131n<\/span><\/h2>\n<p>Veritaban\u0131na ba\u011flant\u0131 kuruluyor olsa bile bir eklenti \u00e7ok say\u0131da ba\u011flant\u0131 a\u00e7abilir, a\u011f\u0131r sorgular \u00e7al\u0131\u015ft\u0131rabilir veya PHP s\u00fcrecini zaman a\u015f\u0131m\u0131na u\u011fratabilir. Ziyaret\u00e7i genel WordPress hata ekran\u0131n\u0131 g\u00f6r\u00fcrken k\u00f6k neden belirli bir eklenti olabilir.<\/p>\n<p>Y\u00f6netim paneli a\u00e7\u0131lm\u0131yorsa eklentileri ge\u00e7ici olarak yeniden adland\u0131rabilirsiniz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">cd \/home\/kullanici\/public_html\/wp-content\nmv plugins plugins.off<\/code><\/pre>\n<p>Site a\u00e7\u0131l\u0131rsa eklenti klas\u00f6r\u00fcn\u00fc eski ad\u0131na d\u00f6nd\u00fcr\u00fcp eklentileri tek tek etkinle\u015ftirin. Bu i\u015flem eklenti dosyalar\u0131n\u0131 silmez; WordPress&#8217;in klas\u00f6r\u00fc tarayamamas\u0131n\u0131 sa\u011flayarak hepsini ge\u00e7ici olarak devre d\u0131\u015f\u0131 b\u0131rak\u0131r.<\/p>\n<p>WP-CLI eri\u015fiminiz varsa daha kontroll\u00fc y\u00f6ntem \u015fudur:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">wp plugin deactivate --all\nwp plugin list --status=active<\/code><\/pre>\n<p>\u0130lk komut etkin eklentileri kapat\u0131r, ikinci komut mevcut durumu g\u00f6sterir. \u00dcretim sitesinde toplu devre d\u0131\u015f\u0131 b\u0131rakma k\u0131sa s\u00fcreli i\u015flev kayb\u0131 yaratabilir; WooCommerce ma\u011fazas\u0131nda \u00f6deme ve sepet ak\u0131\u015f\u0131n\u0131 ayr\u0131ca test edin.<\/p>\n<p>PHP ve WordPress loglar\u0131n\u0131 da kontrol edin. <code>WP_DEBUG<\/code> de\u011ferini \u00fcretimde a\u00e7\u0131k b\u0131rakmak ziyaret\u00e7ilere hassas hata bilgisi s\u0131zd\u0131rabilir. Ge\u00e7ici te\u015fhis i\u00e7in loglamay\u0131 ekrana basmadan a\u00e7abilirsiniz:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">define( &#039;WP_DEBUG&#039;, true );\ndefine( &#039;WP_DEBUG_LOG&#039;, true );\ndefine( &#039;WP_DEBUG_DISPLAY&#039;, false );<\/code><\/pre>\n<p>Ard\u0131ndan <code>wp-content\/debug.log<\/code> dosyas\u0131n\u0131 inceleyin ve i\u015finiz bitince hata ay\u0131klamay\u0131 kapat\u0131n. Logda ayn\u0131 eklenti dosyas\u0131n\u0131n tekrar tekrar g\u00f6r\u00fcnmesi, veritaban\u0131 servisinin sa\u011fl\u0131kl\u0131 oldu\u011fu anlam\u0131na gelmez; o eklenti ba\u011flant\u0131 havuzunu veya sorgu kaynaklar\u0131n\u0131 t\u00fcketiyor olabilir.<\/p>\n<h2><span id=\"Belirtiye_gore_baslangic_noktasini_daraltin\">Belirtiye g\u00f6re ba\u015flang\u0131\u00e7 noktas\u0131n\u0131 daralt\u0131n<\/span><\/h2>\n<table>\n<thead>\n<tr>\n<th>Belirti<\/th>\n<th>Muhtemel neden<\/th>\n<th>\u0130lk kontrol<\/th>\n<\/tr>\n<\/thead>\n<tbody>\n<tr>\n<td>Site ve wp-admin birlikte a\u00e7\u0131lm\u0131yor<\/td>\n<td>Servis durmu\u015f, kimlik bilgileri yanl\u0131\u015f veya disk dolu<\/td>\n<td><code>df -h<\/code>, servis durumu ve <code>wp-config.php<\/code><\/td>\n<\/tr>\n<tr>\n<td>Yaln\u0131zca baz\u0131 sayfalar hata veriyor<\/td>\n<td>Bozuk tablo, eklenti veya a\u011f\u0131r sorgu<\/td>\n<td><code>wp db check<\/code> ve eklenti izolasyonu<\/td>\n<\/tr>\n<tr>\n<td>Ta\u015f\u0131ma sonras\u0131 hata ba\u015flad\u0131<\/td>\n<td>DB ad\u0131, kullan\u0131c\u0131 yetkisi veya DB_HOST de\u011fi\u015fti<\/td>\n<td>Yeni sunucuda do\u011frudan MySQL ba\u011flant\u0131s\u0131<\/td>\n<\/tr>\n<tr>\n<td>Aral\u0131kl\u0131 ba\u011flant\u0131 hatas\u0131 olu\u015fuyor<\/td>\n<td>Kaynak s\u0131n\u0131r\u0131, ba\u011flant\u0131 limiti, a\u011f veya yo\u011fun sorgu<\/td>\n<td>MariaDB loglar\u0131, PHP-FPM loglar\u0131 ve s\u00fcre\u00e7 kullan\u0131m\u0131<\/td>\n<\/tr>\n<\/tbody>\n<\/table>\n<p>Bu tablo tan\u0131 koymaz; yaln\u0131zca nereden ba\u015flayaca\u011f\u0131n\u0131z\u0131 daralt\u0131r. Aral\u0131kl\u0131 hatalarda tek bir ba\u015far\u0131l\u0131 ba\u011flant\u0131 testi sizi yan\u0131ltmas\u0131n. Site yo\u011funken <code>Too many connections<\/code> g\u00f6r\u00fcl\u00fcyorsa limiti art\u0131rmadan \u00f6nce ba\u011flant\u0131lar\u0131 t\u00fcketen sorguyu veya eklentiyi bulun.<\/p>\n<h2><span id=\"Hosting_destegine_hangi_bilgileri_iletmelisiniz\">Hosting deste\u011fine hangi bilgileri iletmelisiniz?<\/span><\/h2>\n<p>Destek talebine yaln\u0131zca &#8220;sitem a\u00e7\u0131lm\u0131yor&#8221; yazmak, iki taraf\u0131n da zaman\u0131n\u0131 uzat\u0131r. Hatan\u0131n ba\u015flad\u0131\u011f\u0131 saat, etkilenen alan ad\u0131, sitenin tamamen mi yoksa aral\u0131kl\u0131 m\u0131 kapand\u0131\u011f\u0131, son yap\u0131lan de\u011fi\u015fiklik ve g\u00f6r\u00fclen hata metni iyi bir ba\u015flang\u0131\u00e7t\u0131r.<\/p>\n<ul>\n<li><code>wp-config.php<\/code> dosyas\u0131n\u0131 g\u00f6ndermeyin; parola ve anahtarlar\u0131 payla\u015fmay\u0131n.<\/li>\n<li>Hata zaman\u0131n\u0131 \u0130stanbul saatiyle yaz\u0131n.<\/li>\n<li>Son eklenti, tema, PHP veya sunucu de\u011fi\u015fikli\u011fini belirtin.<\/li>\n<li>Varsa hata ekran\u0131n\u0131 ve ilgili log sat\u0131rlar\u0131n\u0131 hassas bilgileri maskeleyerek ekleyin.<\/li>\n<li>Site WooCommerce kullan\u0131yorsa \u00f6deme, sipari\u015f ve y\u00f6netim panelinin ayr\u0131 ayr\u0131 etkilenip etkilenmedi\u011fini s\u00f6yleyin.<\/li>\n<\/ul>\n<p>Hosting taraf\u0131 servis loglar\u0131n\u0131, disk kotas\u0131n\u0131, MySQL s\u00fcre\u00e7lerini ve hesap limitlerini g\u00f6rebilir. Siz de belirtileri net verirseniz, &#8220;sunucu mu site mi?&#8221; tart\u0131\u015fmas\u0131 yerine do\u011frudan kan\u0131ta bak\u0131l\u0131r.<\/p>\n<h2><span id=\"Ayni_hatayi_yeniden_yasamamak_icin\">Ayn\u0131 hatay\u0131 yeniden ya\u015famamak i\u00e7in<\/span><\/h2>\n<p>WordPress g\u00fcncellemesinden \u00f6nce <code>wp db export<\/code> almak bende refleks haline geldi. Evdeki Proxmox lab&#8217;\u0131mda bir g\u00fcncellemenin \u00f6nce test VM&#8217;inde patlamas\u0131n\u0131, m\u00fc\u015fteri sunucusunda patlamas\u0131na tercih ederim. Yede\u011fin varl\u0131\u011f\u0131 kadar geri y\u00fcklenebilir olmas\u0131 da \u00f6nemlidir; ayda bir rastgele bir SQL dosyas\u0131n\u0131 ve birka\u00e7 WordPress dosyas\u0131n\u0131 geri y\u00fckleyerek bunu s\u0131nay\u0131n.<\/p>\n<p>Sunucuda disk kullan\u0131m\u0131n\u0131, MariaDB servis durumunu ve SSL yenileme cron&#8217;unu izleyin. Raspberry Pi \u00fczerindeki Uptime Kuma kurulumum tam da bu y\u00fczden \u00e7al\u0131\u015f\u0131yor: izlemedi\u011finiz cron, \u00e7al\u0131\u015fmayan cron olabilir. Payla\u015f\u0131ml\u0131 hostingte panel uyar\u0131lar\u0131n\u0131 ve sa\u011flay\u0131c\u0131n\u0131n kaynak kullan\u0131m ekran\u0131n\u0131 d\u00fczenli kontrol edin.<\/p>\n<p>WordPress \u00e7ekirde\u011fini, temalar\u0131 ve eklentileri g\u00fcncel tutun; fakat g\u00fcncellemeyi yedeksiz ve kontrols\u00fcz yapmay\u0131n. Y\u00f6netici hesab\u0131nda <code>admin<\/code> ve tahmin edilebilir parolalar kullanmay\u0131n. G\u00fcvenlik taraf\u0131ndaki temel kontroller i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/kucuk-isletmeler-icin-web-hosting-guvenlik-kontrol-listesi\/\">K\u00fc\u00e7\u00fck \u0130\u015fletmeler \u0130\u00e7in Web Hosting G\u00fcvenlik Kontrol Listesi<\/a> ba\u015fl\u0131\u011f\u0131na bakabilirsiniz.<\/p>\n<p>Veritaban\u0131 hatas\u0131 sonras\u0131nda dosya izinlerini rastgele <code>chmod 777<\/code> yapmak \u00e7\u00f6z\u00fcm de\u011fildir. Sorunun ad\u0131n\u0131 de\u011fi\u015ftirir, kendisini de\u011fil. Web sunucusu kullan\u0131c\u0131s\u0131n\u0131n do\u011fru sahiplik ve izinlerle \u00e7al\u0131\u015fmas\u0131n\u0131 sa\u011flay\u0131n; de\u011fi\u015fiklik yapacaksan\u0131z \u00f6nce mevcut durumu kaydedin.<\/p>\n<p>Alan ad\u0131 veya sunucu ta\u015f\u0131mas\u0131 yap\u0131yorsan\u0131z DNS taraf\u0131n\u0131 i\u015flem plan\u0131na dahil edin. <a href=\"https:\/\/www.dchost.com\/blog\/dns-kayit-turleri-nedir-a-aaaa-mx-cname-txt-srv-ve-caa-icin-uygulamali-rehber\/\">DNS Kay\u0131t T\u00fcrleri Nedir? A, AAAA, MX, CNAME, TXT, SRV ve CAA \u0130\u00e7in Uygulamal\u0131 Rehber<\/a> i\u00e7inde A kayd\u0131, TTL ve do\u011frulama ad\u0131mlar\u0131n\u0131 kar\u015f\u0131la\u015ft\u0131rm\u0131\u015ft\u0131m. Veritaban\u0131 haz\u0131r olsa bile ziyaret\u00e7iler eski sunucuya gidiyorsa yapt\u0131\u011f\u0131n\u0131z d\u00fczeltmeyi hemen g\u00f6remeyebilirsiniz.<\/p>\n<h2><span id=\"Sik_Sorulan_Sorular\">S\u0131k Sorulan Sorular<\/span><\/h2>\n<h3><span id=\"WordPress_veritabani_baglanti_hatasi_hosting_kaynakli_olabilir_mi\">WordPress veritaban\u0131 ba\u011flant\u0131 hatas\u0131 hosting kaynakl\u0131 olabilir mi?<\/span><\/h3>\n<p>Evet. MariaDB servisinin durmas\u0131, disk alan\u0131n\u0131n bitmesi, hesap kaynak limitleri veya a\u011f eri\u015fimi bu hataya yol a\u00e7abilir. Ayn\u0131 sunucudaki di\u011fer siteler de etkileniyorsa hosting taraf\u0131ndaki servis ve kaynak kontrolleri \u00f6nceliklidir.<\/p>\n<h3><span id=\"wp-configphp_dosyasinda_hangi_satirlari_kontrol_etmeliyim\">wp-config.php dosyas\u0131nda hangi sat\u0131rlar\u0131 kontrol etmeliyim?<\/span><\/h3>\n<p><code>DB_NAME<\/code>, <code>DB_USER<\/code>, <code>DB_PASSWORD<\/code> ve <code>DB_HOST<\/code> de\u011ferlerini kontrol edin. Ayr\u0131ca veritaban\u0131 kullan\u0131c\u0131s\u0131n\u0131n ilgili veritaban\u0131na yetkisi oldu\u011funu do\u011frulay\u0131n; yaln\u0131zca dosyadaki metinlerin do\u011fru g\u00f6r\u00fcnmesi yeterli de\u011fildir.<\/p>\n<h3><span id=\"Veritabanini_onarmak_icin_repairphp_kullanmak_guvenli_mi\">Veritaban\u0131n\u0131 onarmak i\u00e7in repair.php kullanmak g\u00fcvenli mi?<\/span><\/h3>\n<p>\u00d6nce \u00e7al\u0131\u015fan bir veritaban\u0131 yede\u011fi al\u0131n ve <code>WP_ALLOW_REPAIR<\/code> sat\u0131r\u0131n\u0131 i\u015flemden sonra mutlaka kald\u0131r\u0131n. Bu sayfa giri\u015f gerektirmeden eri\u015filebildi\u011fi i\u00e7in a\u00e7\u0131k b\u0131rak\u0131lmas\u0131 g\u00fcvenlik riski olu\u015fturur; InnoDB sorunlar\u0131nda onar\u0131m y\u00f6ntemini ayr\u0131ca dikkatle se\u00e7mek gerekir.<\/p>\n<h3><span id=\"Baglanti_hatasi_aralikli_oluyorsa_neye_bakmaliyim\">Ba\u011flant\u0131 hatas\u0131 aral\u0131kl\u0131 oluyorsa neye bakmal\u0131y\u0131m?<\/span><\/h3>\n<p>MariaDB loglar\u0131nda ba\u011flant\u0131 limiti, bellek ve zaman a\u015f\u0131m\u0131 mesajlar\u0131n\u0131 aray\u0131n. PHP-FPM s\u00fcre\u00e7leri, a\u011f\u0131r eklenti sorgular\u0131, ani trafik ve disk gecikmesi de aral\u0131kl\u0131 kesintilere neden olabilir; yaln\u0131zca <code>DB_HOST<\/code> de\u011ferini de\u011fi\u015ftirmek her zaman \u00e7\u00f6z\u00fcm getirmez.<\/p>\n<p>Ben b\u00f6yle bir hatada ilk olarak ekrana de\u011fil, katmanlara bak\u0131yorum: disk, servis, kimlik bilgileri, ba\u011flant\u0131 adresi ve sorgu. Her kontrolden sonra \u00e7\u0131kt\u0131y\u0131 kaydederseniz, gece yar\u0131s\u0131 pani\u011fi yerini takip edilebilir bir ar\u0131zaya b\u0131rak\u0131r.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>WordPress veritaban\u0131 ba\u011flant\u0131 hatas\u0131nda wp-config.php, MySQL servisi, disk alan\u0131, tablolar ve eklentileri hangi s\u0131rayla kontrol edece\u011finizi anlat\u0131yorum.<\/p>\n","protected":false},"author":4,"featured_media":5060,"comment_status":"closed","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[23],"tags":[124,400,399,398,116,402,401],"class_list":["post-5064","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress","tag-hosting","tag-mariadb","tag-mysql","tag-veritabani","tag-wordpress","tag-wp-cli","tag-wp-config-php"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/5064","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/users\/4"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=5064"}],"version-history":[{"count":1,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/5064\/revisions"}],"predecessor-version":[{"id":5066,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/5064\/revisions\/5066"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/5060"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=5064"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=5064"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=5064"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}