{"id":2278,"date":"2026-06-20T17:40:37","date_gmt":"2026-06-20T14:40:37","guid":{"rendered":"https:\/\/saviorhost.com\/blog\/?p=2278"},"modified":"2026-06-21T17:46:40","modified_gmt":"2026-06-21T14:46:40","slug":"wordpress-veritabani-baglantisi-kurulamadi-hatasinin-anatomisi-sysadmin-cozumleri","status":"publish","type":"post","link":"https:\/\/saviorhost.com\/blog\/wordpress-veritabani-baglantisi-kurulamadi-hatasinin-anatomisi-sysadmin-cozumleri\/","title":{"rendered":"WordPress &#8220;Veritaban\u0131 Ba\u011flant\u0131s\u0131 Kurulamad\u0131&#8221; Hatas\u0131n\u0131n Anatomisi: SysAdmin \u00c7\u00f6z\u00fcmleri"},"content":{"rendered":"<p data-path-to-node=\"5\">Bir web sitesinin ana sayfas\u0131nda beliren <i data-path-to-node=\"5\" data-index-in-node=\"41\">&#8220;Veritaban\u0131 Ba\u011flant\u0131s\u0131 Kurulamad\u0131&#8221; (Error Establishing a Database Connection)<\/i> yaz\u0131s\u0131, dijital d\u00fcnyan\u0131n en me\u015fhur ama en \u00e7ok yanl\u0131\u015f anla\u015f\u0131lan krizlerinden biridir. \u0130nternetteki standart kaynaklar size sadece <code data-path-to-node=\"5\" data-index-in-node=\"248\">wp-config.php<\/code> dosyas\u0131ndaki \u015fifrenizi kontrol etmenizi s\u00f6yler.<\/p>\n<p data-path-to-node=\"6\">Ancak bir \u015firketin veya sunucunun t\u00fcm bilgi i\u015flem y\u00fck\u00fcn\u00fc tek ba\u015f\u0131n\u0131za s\u0131rtlad\u0131\u011f\u0131n\u0131zda, ger\u00e7eklerin bu kadar basit olmad\u0131\u011f\u0131n\u0131 \u00e7ok iyi bilirsiniz. \u00c7o\u011fu zaman sorun yanl\u0131\u015f bir \u015fifre de\u011fil; arka planda can \u00e7eki\u015fen bir donan\u0131m\u0131n, \u015fi\u015fmi\u015f bir veritaban\u0131 tablosunun veya yanl\u0131\u015f yap\u0131land\u0131r\u0131lm\u0131\u015f bir MySQL \u00e7ekirde\u011finin iflas bayra\u011f\u0131n\u0131 \u00e7ekmesidir.<\/p>\n<p data-path-to-node=\"7\">Bu rehberde, karanl\u0131kta kur\u015fun s\u0131kmay\u0131 b\u0131rak\u0131p, sorunun k\u00f6k nedenlerini bir Sistem Y\u00f6neticisi (SysAdmin) hassasiyetiyle Terminal (SSH) \u00fczerinden nas\u0131l tespit ve kal\u0131c\u0131 olarak yok edece\u011finizi inceliyoruz.<\/p>\n<h2 data-path-to-node=\"8\" id=\"faz-1-yanilsama-kimlik-dogrulama-hatalari\">Faz 1: Yan\u0131lsama (Kimlik Do\u011frulama Hatalar\u0131)<\/h2>\n<p data-path-to-node=\"9\">E\u011fer sitenizi yeni ta\u015f\u0131d\u0131ysan\u0131z, ilk bak\u0131lacak yer elbette kimlik bilgileridir. Ancak bunu yaparken cPanel\/KeyHelp aray\u00fczlerinde kaybolmak yerine, do\u011frudan sunucu k\u00f6k dizininde kontrol sa\u011flamal\u0131s\u0131n\u0131z.<\/p>\n<p data-path-to-node=\"10\">WordPress&#8217;in veritaban\u0131 ile konu\u015fmas\u0131n\u0131 sa\u011flayan 4 temel parametreyi terminal \u00fczerinden <code data-path-to-node=\"10\" data-index-in-node=\"88\">cat wp-config.php | grep DB_<\/code> komutuyla saniyeler i\u00e7inde do\u011frulay\u0131n:<\/p>\n<ul data-path-to-node=\"11\">\n<li>\n<p data-path-to-node=\"11,0,0\"><code data-path-to-node=\"11,0,0\" data-index-in-node=\"0\">DB_NAME<\/code>, <code data-path-to-node=\"11,0,0\" data-index-in-node=\"9\">DB_USER<\/code>, <code data-path-to-node=\"11,0,0\" data-index-in-node=\"18\">DB_PASSWORD<\/code> ve <code data-path-to-node=\"11,0,0\" data-index-in-node=\"33\">DB_HOST<\/code>.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"11,1,0\"><i data-path-to-node=\"11,1,0\" data-index-in-node=\"0\">Kritik Detay:<\/i> E\u011fer sunucunuzda MySQL standart 3306 portu d\u0131\u015f\u0131nda \u00e7al\u0131\u015f\u0131yorsa, <code data-path-to-node=\"11,1,0\" data-index-in-node=\"78\">DB_HOST<\/code> tan\u0131m\u0131 <code data-path-to-node=\"11,1,0\" data-index-in-node=\"93\">localhost:portnumarasi<\/code> \u015feklinde belirtilmelidir. Aksi takdirde ba\u011flant\u0131 reddedilir.<\/p>\n<\/li>\n<\/ul>\n<p data-path-to-node=\"12\">\u015eifreler do\u011fruysa ve sorun devam ediyorsa, as\u0131l sava\u015fa, yani sunucu mimarisinin derinliklerine ge\u00e7iyoruz.<\/p>\n<h2 data-path-to-node=\"13\" id=\"faz-2-sessiz-katil-wp_options-ve-autoload-zehirlenmesi\">Faz 2: Sessiz Katil (<code data-path-to-node=\"13\" data-index-in-node=\"21\">wp_options<\/code> ve Autoload Zehirlenmesi)<\/h2>\n<p data-path-to-node=\"14\">Siteniz aylard\u0131r kusursuz \u00e7al\u0131\u015f\u0131rken aniden bu hatay\u0131 verip, birka\u00e7 saniye sonra kendi kendine d\u00fczeliyorsa sorun \u015fifreniz de\u011fil, <b data-path-to-node=\"14\" data-index-in-node=\"129\">Veritaban\u0131 Darbo\u011faz\u0131d\u0131r (Bottleneck).<\/b><\/p>\n<p data-path-to-node=\"15\">WordPress, <code data-path-to-node=\"15\" data-index-in-node=\"11\">wp_options<\/code> tablosu i\u00e7indeki <code data-path-to-node=\"15\" data-index-in-node=\"39\">autoload<\/code> s\u00fctununda yer alan her veriyi, sitenize biri girdi\u011fi an RAM&#8217;e (\u00f6nbelle\u011fe) \u00e7eker. Y\u0131llar i\u00e7inde kurup sildi\u011finiz eklentiler (\u00f6zellikle eski g\u00fcvenlik ve cache eklentileri) bu tabloya devasa &#8220;\u00e7\u00f6p&#8221; veriler b\u0131rak\u0131r. Bu durum, bir bilgisayar\u0131n s\u0131n\u0131rlar\u0131n\u0131 zorlamaya benzer. T\u0131pk\u0131 104 milyar parametreli (104b) devasa bir yapay zeka modelini \u00e7al\u0131\u015ft\u0131rd\u0131\u011f\u0131n\u0131zda sistemdeki 96 GB RAM&#8217;in tamam\u0131n\u0131 s\u00f6m\u00fcr\u00fcp bilgisayar\u0131 tamamen kilitlemesi gibi; <code data-path-to-node=\"15\" data-index-in-node=\"480\">autoload<\/code> verileri \u015fi\u015fmi\u015f bir WordPress de MySQL motorunun t\u00fcm belle\u011fini yutar ve sistemi dondurur.<\/p>\n<p data-path-to-node=\"16\"><b data-path-to-node=\"16\" data-index-in-node=\"0\">SysAdmin \u00c7\u00f6z\u00fcm\u00fc (WP-CLI ile Temizlik):<\/b> Ger\u00e7ek bir sistem y\u00f6neticisi bu i\u015flemi phpMyAdmin&#8217;in hantal aray\u00fcz\u00fcyle yapmaz. SSH \u00fczerinden sitenizin dizinine girin ve \u015fu <b data-path-to-node=\"16\" data-index-in-node=\"163\">WP-CLI<\/b> (WordPress Command Line Interface) komutunu \u00e7al\u0131\u015ft\u0131r\u0131n:<\/p>\n<p data-path-to-node=\"17\"><code data-path-to-node=\"17\" data-index-in-node=\"0\">wp db query \"SELECT option_name, length(option_value) AS option_value_length FROM wp_options WHERE autoload='yes' ORDER BY option_value_length DESC LIMIT 10;\"<\/code><\/p>\n<p data-path-to-node=\"18\">Bu komut size veritaban\u0131n\u0131z\u0131 kilitleyen en b\u00fcy\u00fck 10 y\u00fck\u00fc bayt cinsinden listeleyecektir. E\u011fer toplam autoload boyutu 1 MB&#8217;\u0131 a\u015f\u0131yorsa, listedeki eski eklenti art\u0131klar\u0131n\u0131 <code data-path-to-node=\"18\" data-index-in-node=\"169\">wp option delete &lt;option_name&gt;<\/code> komutuyla an\u0131nda imha ederek veritaban\u0131n\u0131z\u0131n nefes almas\u0131n\u0131 sa\u011flay\u0131n.<\/p>\n<h2 data-path-to-node=\"19\" id=\"faz-3-ram-canavari-ve-cekirdek-loglari-oom-killer\">Faz 3: RAM Canavar\u0131 ve \u00c7ekirdek Loglar\u0131 (OOM Killer)<\/h2>\n<p data-path-to-node=\"20\">E\u011fer veritaban\u0131n\u0131z temizse ama MySQL servisi g\u00fcnde birka\u00e7 kez \u00e7\u00f6k\u00fcp hata veriyorsa, Linux i\u015fletim sisteminin &#8220;Acil Durum Protokol\u00fc&#8221; devreye giriyor demektir.<\/p>\n<p data-path-to-node=\"21\">Linux, sunucunun RAM&#8217;i tamamen doldu\u011funda t\u00fcm sistemin \u00e7\u00f6kmesini engellemek i\u00e7in <b data-path-to-node=\"21\" data-index-in-node=\"81\">OOM (Out of Memory) Killer<\/b> mekanizmas\u0131n\u0131 tetikler. Bu mekanizma, o an en \u00e7ok RAM t\u00fcketen servisi ac\u0131mas\u0131zca \u00f6ld\u00fcr\u00fcr (Kill). E-ticaret ve WordPress sitelerinde bu kurban %99 ihtimalle <code data-path-to-node=\"21\" data-index-in-node=\"264\">mysqld<\/code> (MySQL motoru) olur. MySQL \u00f6ld\u00fc\u011f\u00fcnde ziyaret\u00e7iler o me\u015fhur &#8220;Ba\u011flant\u0131 Kurulamad\u0131&#8221; hatas\u0131n\u0131 g\u00f6r\u00fcr; MySQL birka\u00e7 dakika sonra yeniden ba\u015flad\u0131\u011f\u0131nda ise site d\u00fczelir.<\/p>\n<p data-path-to-node=\"22\"><b data-path-to-node=\"22\" data-index-in-node=\"0\">Te\u015fhis:<\/b> SSH \u00fczerinden sistem loglar\u0131n\u0131z\u0131 inceleyin: <code data-path-to-node=\"22\" data-index-in-node=\"52\">grep -i 'killed process' \/var\/log\/syslog<\/code> <i data-path-to-node=\"22\" data-index-in-node=\"93\">(Debian\/Ubuntu)<\/i> veya <code data-path-to-node=\"22\" data-index-in-node=\"114\">\/var\/log\/messages<\/code> <i data-path-to-node=\"22\" data-index-in-node=\"132\">(RHEL\/CentOS)<\/i><\/p>\n<p data-path-to-node=\"23\">E\u011fer ekranda <code data-path-to-node=\"23\" data-index-in-node=\"13\">Out of memory: Killed process... (mysqld)<\/code> g\u00f6r\u00fcyorsan\u0131z, sunucunuz fiziksel s\u0131n\u0131rlar\u0131na dayanm\u0131\u015ft\u0131r.<\/p>\n<h2 data-path-to-node=\"24\" id=\"faz-4-saf-muhendislik-mysql-mariadb-core-tuning\">Faz 4: Saf M\u00fchendislik (MySQL\/MariaDB Core Tuning)<\/h2>\n<p data-path-to-node=\"25\">RAM t\u00fcketimini optimize etmenin yolu, standart ayarlara (Default) boyun e\u011fmemektir. MariaDB\/MySQL kuruldu\u011funda, modern donan\u0131mlardan habersiz, eski nesil k\u0131s\u0131tl\u0131 bir <code data-path-to-node=\"25\" data-index-in-node=\"166\">my.cnf<\/code> profiliyle gelir. 64 \u00c7ekirdekli bir i\u015flemciniz veya devasa bir RAM&#8217;iniz olsa bile, motor bu g\u00fcc\u00fc kullanmay\u0131 bilmez.<\/p>\n<p data-path-to-node=\"26\">Veritaban\u0131 \u00e7\u00f6kmelerini sonsuza dek bitirecek DBA (Database Administrator) optimizasyonlar\u0131 i\u00e7in <code data-path-to-node=\"26\" data-index-in-node=\"96\">\/etc\/mysql\/my.cnf<\/code> (veya <code data-path-to-node=\"26\" data-index-in-node=\"120\">my.ini.d\/server.cnf<\/code>) dosyan\u0131za \u015fu m\u00fcdahaleleri yapmal\u0131s\u0131n\u0131z:<\/p>\n<ol start=\"1\" data-path-to-node=\"27\">\n<li>\n<p data-path-to-node=\"27,0,0\"><b data-path-to-node=\"27,0,0\" data-index-in-node=\"0\"><code data-path-to-node=\"27,0,0\" data-index-in-node=\"0\">innodb_buffer_pool_size<\/code>:<\/b> InnoDB motorunun kalbidir. Disk okuma\/yazma (I\/O) y\u00fck\u00fcn\u00fc s\u0131f\u0131ra indirmek i\u00e7in veriyi RAM&#8217;de tutar. \u0130zole bir VDS kullan\u0131yorsan\u0131z, toplam RAM&#8217;inizin %60&#8217;\u0131n\u0131 buraya atay\u0131n. (\u00d6rn: <code data-path-to-node=\"27,0,0\" data-index-in-node=\"202\">innodb_buffer_pool_size = 8G<\/code>).<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"27,1,0\"><b data-path-to-node=\"27,1,0\" data-index-in-node=\"0\"><code data-path-to-node=\"27,1,0\" data-index-in-node=\"0\">innodb_log_file_size<\/code>:<\/b> E\u015fzamanl\u0131 a\u011f\u0131r yazma i\u015flemlerinde (\u00f6rne\u011fin WooCommerce sepet i\u015flemlerinde) kilitlenmeyi \u00f6nler. Veri kayb\u0131n\u0131 ve \u00e7\u00f6k\u00fc\u015f\u00fc durdurur. \u0130deal de\u011fer, buffer_pool boyutunuzun yakla\u015f\u0131k %25&#8217;idir.<\/p>\n<\/li>\n<li>\n<p data-path-to-node=\"27,2,0\"><b data-path-to-node=\"27,2,0\" data-index-in-node=\"0\"><code data-path-to-node=\"27,2,0\" data-index-in-node=\"0\">max_connections<\/code>:<\/b> E\u011fer siteniz anl\u0131k olarak binlerce trafik al\u0131yorsa, MySQL &#8220;Too many connections&#8221; hatas\u0131 verir ve yeni gelenleri reddeder. Bu de\u011feri donan\u0131m\u0131n\u0131z\u0131n kapasitesine g\u00f6re (\u00d6rn: <code data-path-to-node=\"27,2,0\" data-index-in-node=\"187\">500<\/code> veya <code data-path-to-node=\"27,2,0\" data-index-in-node=\"196\">1000<\/code> olarak) yukar\u0131 \u00e7ekin.<\/p>\n<\/li>\n<\/ol>\n<p data-path-to-node=\"28\">Ayarlar\u0131 kaydettikten sonra <code data-path-to-node=\"28\" data-index-in-node=\"28\">systemctl restart mysql<\/code> komutuyla canavar\u0131 yeniden uyand\u0131r\u0131n.<\/p>\n<h2 data-path-to-node=\"29\" id=\"saviorhost-sorunlari-degil-gucu-yonetin\">SaviorHost: Sorunlar\u0131 De\u011fil, G\u00fcc\u00fc Y\u00f6netin<\/h2>\n<p data-path-to-node=\"30\">G\u00f6rd\u00fc\u011f\u00fcn\u00fcz gibi, &#8220;Veritaban\u0131 Ba\u011flant\u0131s\u0131 Kurulamad\u0131&#8221; hatas\u0131 sadece bir \u015fifre problemi de\u011fil, ciddi bir mimari darbo\u011fazd\u0131r. E\u011fer g\u00fcn\u00fcn\u00fcz\u00fc SSH terminallerinde log okuyarak, \u00e7\u00f6ken sunucular\u0131 yeniden ba\u015flatarak veya donan\u0131m limitleriyle sava\u015farak ge\u00e7irmek istemiyorsan\u0131z, altyap\u0131n\u0131z\u0131 i\u015fin mutfa\u011f\u0131ndan gelen bir ekibe b\u0131rak\u0131n.<\/p>\n<p data-path-to-node=\"31\"><b data-path-to-node=\"31\" data-index-in-node=\"0\">SaviorHost<\/b> olarak, KeyHelp altyap\u0131m\u0131zda bar\u0131nan her bir web sitesini, arkas\u0131ndaki <b data-path-to-node=\"31\" data-index-in-node=\"82\">AMD Ryzen 9 7900<\/b> i\u015flemcilerin tek \u00e7ekirdek g\u00fcc\u00fcne ve <b data-path-to-node=\"31\" data-index-in-node=\"135\">Gen4 NVMe<\/b> disklerin inan\u0131lmaz I\/O h\u0131zlar\u0131na tam uyum sa\u011flayacak \u015fekilde optimize ediyoruz. MariaDB \u00e7ekirdek yap\u0131land\u0131rmalar\u0131m\u0131z sayesinde en a\u011f\u0131r e-ticaret siteleri bile RAM darbo\u011faz\u0131na girmeden 7\/24 kesintisiz hizmet verir.<\/p>\n<p data-path-to-node=\"32\">Veritaban\u0131 \u00e7\u00f6kmelerini bir daha asla g\u00f6rmemek i\u00e7in y\u00fcksek kapasiteli <b data-path-to-node=\"32\" data-index-in-node=\"69\"><a class=\"ng-star-inserted\" href=\"https:\/\/saviorhost.com\/linux-web-hosting\" target=\"_blank\" rel=\"noopener\" data-hveid=\"0\" data-ved=\"0CAAQ_4QMahgKEwj42bCPuZiVAxUAAAAAHQAAAAAQnwE\">Linux Web Hosting<\/a><\/b> ve sanal sunucu \u00e7\u00f6z\u00fcmlerimizi hemen inceleyin.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Bir web sitesinin ana sayfas\u0131nda beliren &#8220;Veritaban\u0131 Ba\u011flant\u0131s\u0131 Kurulamad\u0131&#8221; (Error Establishing a Database Connection) yaz\u0131s\u0131, dijital d\u00fcnyan\u0131n en me\u015fhur ama&#8230;<\/p>\n","protected":false},"author":1,"featured_media":2280,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[72],"tags":[],"class_list":["post-2278","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-wordpress"],"_links":{"self":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/2278","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/comments?post=2278"}],"version-history":[{"count":1,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/2278\/revisions"}],"predecessor-version":[{"id":2279,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/posts\/2278\/revisions\/2279"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/media\/2280"}],"wp:attachment":[{"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/media?parent=2278"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/categories?post=2278"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/saviorhost.com\/blog\/wp-json\/wp\/v2\/tags?post=2278"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}