{"id":92,"date":"2025-10-30T21:03:04","date_gmt":"2025-10-30T21:03:04","guid":{"rendered":"https:\/\/adveyer.com\/blog\/?p=92"},"modified":"2025-11-01T09:39:39","modified_gmt":"2025-11-01T09:39:39","slug":"linux-veri-tabani-onarma-ssh","status":"publish","type":"post","link":"https:\/\/adveyer.com\/blog\/linux-veri-tabani-onarma-ssh\/","title":{"rendered":"Linux Veri Taban\u0131 Onarma (SSH)"},"content":{"rendered":"<p data-start=\"251\" data-end=\"261\">Merhaba,<\/p>\n<p data-start=\"263\" data-end=\"646\">Bu yaz\u0131m\u0131zda sizlere <strong data-start=\"284\" data-end=\"325\">SSH \u00fczerinden MySQL veritaban\u0131 onarma<\/strong> i\u015flemini ad\u0131m ad\u0131m anlataca\u011f\u0131z.<br data-start=\"357\" data-end=\"360\" \/>Zaman zaman veritabanlar\u0131nda tablolar\u0131n bozulmas\u0131, indeks hatalar\u0131 veya dosya yap\u0131s\u0131n\u0131n zarar g\u00f6rmesi gibi durumlar ya\u015fanabilir.<br data-start=\"488\" data-end=\"491\" \/>\u00d6zellikle <strong data-start=\"501\" data-end=\"527\">b\u00fcy\u00fck veritabanlar\u0131nda<\/strong> bu t\u00fcr onar\u0131m i\u015flemleri web paneller (\u00f6rne\u011fin phpMyAdmin) \u00fczerinden yapmak hem <strong data-start=\"607\" data-end=\"617\">riskli<\/strong> hem de <strong data-start=\"625\" data-end=\"634\">yava\u015f<\/strong> olabilir.<\/p>\n<p data-start=\"648\" data-end=\"874\">Bu nedenle, <strong data-start=\"660\" data-end=\"713\">SSH ba\u011flant\u0131s\u0131 \u00fczerinden do\u011frudan komut sat\u0131r\u0131nda<\/strong> i\u015flem yapmak \u00e7ok daha g\u00fcvenli ve h\u0131zl\u0131 bir \u00e7\u00f6z\u00fcmd\u00fcr.<br data-start=\"766\" data-end=\"769\" \/>A\u015fa\u011f\u0131da, MySQL veritaban\u0131n\u0131z\u0131 onarmak i\u00e7in kullanabilece\u011finiz komutlar\u0131 ve a\u00e7\u0131klamalar\u0131n\u0131 bulabilirsiniz.<\/p>\n<h3 data-start=\"881\" data-end=\"923\">1. Standart MySQL Veritaban\u0131 Onarma<\/h3>\n<p data-start=\"925\" data-end=\"1093\">MySQL veritaban\u0131n\u0131 onarmak i\u00e7in <strong data-start=\"957\" data-end=\"971\">mysqlcheck<\/strong> arac\u0131n\u0131 kullanabilirsiniz.<br data-start=\"998\" data-end=\"1001\" \/>A\u015fa\u011f\u0131daki komut, belirtilen veritaban\u0131ndaki tablolar\u0131 kontrol eder ve bozuk olanlar\u0131 onar\u0131r:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysqlcheck -r [veritaban\u0131_ad\u0131]\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"1139\" data-end=\"1154\"><strong data-start=\"1139\" data-end=\"1152\">A\u00e7\u0131klama:<\/strong><\/p>\n<ul data-start=\"1155\" data-end=\"1283\">\n<li data-start=\"1155\" data-end=\"1204\">\n<p data-start=\"1157\" data-end=\"1204\"><strong><code data-start=\"1157\" data-end=\"1161\">-r<\/code><\/strong> \u2192 (repair) onar\u0131m i\u015flemi anlam\u0131na gelir.<\/p>\n<\/li>\n<li data-start=\"1205\" data-end=\"1283\">\n<p data-start=\"1207\" data-end=\"1283\"><code data-start=\"1207\" data-end=\"1225\"><strong>[veritaban\u0131_ad\u0131]<\/strong><\/code> \u2192 onarmak istedi\u011finiz veritaban\u0131n\u0131n ad\u0131n\u0131 buraya yaz\u0131n.<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"1285\" data-end=\"1300\"><strong data-start=\"1288\" data-end=\"1298\">\u00d6rnek:<\/strong><\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysqlcheck -r firma_db\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"1336\" data-end=\"1446\">Bu komut, <em data-start=\"1346\" data-end=\"1356\">firma_db<\/em> adl\u0131 veritaban\u0131ndaki t\u00fcm tablolar\u0131 kontrol eder ve bozuk olanlar\u0131 otomatik olarak onar\u0131r.<\/p>\n<h3 data-start=\"1453\" data-end=\"1489\">2. myisamchk Arac\u0131 ile Onar\u0131m<\/h3>\n<p data-start=\"1491\" data-end=\"1620\">E\u011fer yukar\u0131daki komut i\u015fe yaramazsa, <strong data-start=\"1528\" data-end=\"1550\">MyISAM tablolar\u0131n\u0131<\/strong> onarmak i\u00e7in alternatif olarak <code data-start=\"1582\" data-end=\"1593\">myisamchk<\/code> arac\u0131n\u0131 kullanabilirsiniz.<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">myisamchk -r \/var\/lib\/mysql\/[veritaban\u0131_ad\u0131]\/*\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"1682\" data-end=\"1697\"><strong data-start=\"1682\" data-end=\"1695\">A\u00e7\u0131klama:<\/strong><\/p>\n<ul data-start=\"1698\" data-end=\"1820\">\n<li data-start=\"1698\" data-end=\"1732\">\n<p data-start=\"1700\" data-end=\"1732\"><strong><code data-start=\"1700\" data-end=\"1704\">-r<\/code><\/strong> \u2192 onar\u0131m modunu ba\u015flat\u0131r.<\/p>\n<\/li>\n<li data-start=\"1733\" data-end=\"1820\">\n<p data-start=\"1735\" data-end=\"1820\"><code data-start=\"1735\" data-end=\"1769\"><strong>\/var\/lib\/mysql\/[veritaban\u0131_ad\u0131]\/<\/strong><\/code> \u2192 tablolar\u0131n fiziksel olarak bulundu\u011fu dizindir.<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"1822\" data-end=\"1837\"><strong data-start=\"1825\" data-end=\"1835\">\u00d6rnek:<\/strong><\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">myisamchk -r \/var\/lib\/mysql\/musteri_db\/*\r\n<\/code><\/pre>\n<\/div>\n<blockquote data-start=\"1892\" data-end=\"2192\">\n<p data-start=\"1894\" data-end=\"2057\">\u26a0\ufe0f <strong data-start=\"1897\" data-end=\"1908\">Dikkat:<\/strong><br data-start=\"1908\" data-end=\"1911\" \/>Bu komutu \u00e7al\u0131\u015ft\u0131rmadan \u00f6nce MySQL servisinin kapal\u0131 olmas\u0131 gerekir.<br data-start=\"1981\" data-end=\"1984\" \/>Aksi halde dosya eri\u015fim hatas\u0131 alabilirsiniz. Servisi durdurmak i\u00e7in:<\/p>\n<\/blockquote>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">systemctl stop mysql\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"2099\" data-end=\"2152\">Onar\u0131m tamamland\u0131ktan sonra yeniden ba\u015flatmak i\u00e7in:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">systemctl start mysql\r\n<\/code><\/pre>\n<\/div>\n<h3 data-start=\"2199\" data-end=\"2249\">3. T\u00fcm Veritabanlar\u0131n\u0131 Toplu Olarak Onarmak<\/h3>\n<p data-start=\"2251\" data-end=\"2416\">Sunucunuzda birden fazla veritaban\u0131 varsa, her birini tek tek onarmak zaman alabilir.<br data-start=\"2336\" data-end=\"2339\" \/>T\u00fcm veritabanlar\u0131n\u0131 otomatik olarak onarmak i\u00e7in \u015fu komutu kullanabilirsiniz:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysqlcheck --repair -A\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"2454\" data-end=\"2469\"><strong data-start=\"2454\" data-end=\"2467\">A\u00e7\u0131klama:<\/strong><\/p>\n<ul data-start=\"2470\" data-end=\"2558\">\n<li data-start=\"2470\" data-end=\"2508\">\n<p data-start=\"2472\" data-end=\"2508\"><code data-start=\"2472\" data-end=\"2482\"><strong>--repair<\/strong><\/code> \u2192 t\u00fcm tablolar\u0131 onar\u0131r.<\/p>\n<\/li>\n<li data-start=\"2509\" data-end=\"2558\">\n<p data-start=\"2511\" data-end=\"2558\"><strong><code data-start=\"2511\" data-end=\"2515\">-A<\/code><\/strong> \u2192 sunucudaki t\u00fcm veritabanlar\u0131n\u0131 kapsar.<\/p>\n<\/li>\n<\/ul>\n<h3 data-start=\"2565\" data-end=\"2605\">4. Veritabanlar\u0131n\u0131 Optimize Etmek<\/h3>\n<p data-start=\"2607\" data-end=\"2770\">Onar\u0131m i\u015fleminin ard\u0131ndan tablolar\u0131 <strong data-start=\"2643\" data-end=\"2661\">optimize etmek<\/strong>, performans a\u00e7\u0131s\u0131ndan olduk\u00e7a faydal\u0131d\u0131r.<br data-start=\"2703\" data-end=\"2706\" \/>A\u015fa\u011f\u0131daki komut, t\u00fcm veritabanlar\u0131ndaki tablolar\u0131 optimize eder:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysqlcheck --optimize -A\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"2810\" data-end=\"2825\"><strong data-start=\"2810\" data-end=\"2823\">A\u00e7\u0131klama:<\/strong><\/p>\n<ul data-start=\"2826\" data-end=\"2948\">\n<li data-start=\"2826\" data-end=\"2905\">\n<p data-start=\"2828\" data-end=\"2905\"><strong><code data-start=\"2828\" data-end=\"2840\">--optimize<\/code><\/strong> \u2192 tablolar\u0131 yeniden d\u00fczenler, kullan\u0131lmayan alanlar\u0131 temizler.<\/p>\n<\/li>\n<li data-start=\"2906\" data-end=\"2948\">\n<p data-start=\"2908\" data-end=\"2948\"><strong><code data-start=\"2908\" data-end=\"2912\">-A<\/code><\/strong> \u2192 t\u00fcm veritabanlar\u0131n\u0131 dahil eder.<\/p>\n<\/li>\n<\/ul>\n<p data-start=\"2950\" data-end=\"3024\">Bu i\u015flem, veritaban\u0131n\u0131n <strong data-start=\"2974\" data-end=\"3009\">daha h\u0131zl\u0131 sorgu \u00e7al\u0131\u015ft\u0131rmas\u0131na<\/strong> yard\u0131mc\u0131 olur.<\/p>\n<h3 data-start=\"3031\" data-end=\"3070\">5. Root \u015eifresiyle Onar\u0131m \u0130\u015flemi<\/h3>\n<p data-start=\"3072\" data-end=\"3214\">Baz\u0131 durumlarda root yetkisiyle do\u011frudan onar\u0131m yapmak gerekebilir.<br data-start=\"3139\" data-end=\"3142\" \/>A\u015fa\u011f\u0131daki komut, root kullan\u0131c\u0131 bilgileriyle t\u00fcm veritabanlar\u0131n\u0131 onar\u0131r:<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysqlcheck -A -h localhost -u root -r -p\r\n<\/code><\/pre>\n<\/div>\n<p data-start=\"3270\" data-end=\"3339\">Komut \u00e7al\u0131\u015ft\u0131r\u0131ld\u0131\u011f\u0131nda sizden <strong data-start=\"3301\" data-end=\"3325\">MySQL root parolan\u0131z<\/strong> istenecektir.<\/p>\n<h3 data-start=\"3346\" data-end=\"3364\">Ek \u0130pu\u00e7lar\u0131<\/h3>\n<ul data-start=\"3366\" data-end=\"3800\">\n<li data-start=\"3366\" data-end=\"3549\">\n<p data-start=\"3368\" data-end=\"3492\"><strong data-start=\"3368\" data-end=\"3402\">Yedek almadan veri taban\u0131 onarma yapmay\u0131n:<\/strong><br data-start=\"3402\" data-end=\"3405\" \/>Herhangi bir onar\u0131m i\u015flemine ba\u015flamadan \u00f6nce mutlaka veritaban\u0131n\u0131z\u0131n yede\u011fini al\u0131n.<\/p>\n<div class=\"contain-inline-size rounded-2xl relative bg-token-sidebar-surface-primary\">\n<div class=\"sticky top-9\"><\/div>\n<pre class=\"overflow-y-auto p-4\" dir=\"ltr\"><code class=\"whitespace-pre! language-bash\">mysqldump -u root -p dbadi &gt; yedek.sql\r\n<\/code><\/pre>\n<\/div>\n<\/li>\n<li data-start=\"3551\" data-end=\"3673\">\n<p data-start=\"3553\" data-end=\"3673\"><strong data-start=\"3553\" data-end=\"3572\">Otomatik bak\u0131m:<\/strong><br data-start=\"3572\" data-end=\"3575\" \/>Bu komutlar\u0131 <strong data-start=\"3590\" data-end=\"3602\">cron job<\/strong> olarak zamanlayarak veritaban\u0131 bak\u0131m\u0131n\u0131 d\u00fczenli hale getirebilirsiniz.<\/p>\n<\/li>\n<li data-start=\"3675\" data-end=\"3800\">\n<p data-start=\"3677\" data-end=\"3800\"><strong data-start=\"3677\" data-end=\"3706\">Hata loglar\u0131n\u0131 inceleyin:<\/strong><br data-start=\"3706\" data-end=\"3709\" \/>Onar\u0131m sonras\u0131 h\u00e2l\u00e2 sorun ya\u015f\u0131yorsan\u0131z <strong><code data-start=\"3750\" data-end=\"3776\">\/var\/log\/mysql\/error.log<\/code><\/strong> dosyas\u0131n\u0131 kontrol edin.<\/p>\n<\/li>\n<\/ul>\n<h3 data-start=\"3807\" data-end=\"3819\">Sonu\u00e7<\/h3>\n<p data-start=\"3821\" data-end=\"4107\">Bu yaz\u0131m\u0131zda SSH \u00fczerinden MySQL veritabanlar\u0131n\u0131 nas\u0131l onarabilece\u011finizi ad\u0131m ad\u0131m \u00f6\u011frendik.<br data-start=\"3913\" data-end=\"3916\" \/>B\u00fcy\u00fck veritabanlar\u0131nda do\u011frudan SSH ile \u00e7al\u0131\u015fmak hem daha h\u0131zl\u0131 hem de g\u00fcvenli bir y\u00f6ntemdir.<br data-start=\"4009\" data-end=\"4012\" \/>D\u00fczenli bak\u0131m ve optimize i\u015flemleriyle veritaban\u0131 performans\u0131n\u0131z\u0131 uzun vadede koruyabilirsiniz.<\/p>\n<p data-start=\"4109\" data-end=\"4215\">Bir sonraki yaz\u0131m\u0131zda <strong data-start=\"4131\" data-end=\"4170\">MySQL performans art\u0131rma y\u00f6ntemleri<\/strong> konusuna de\u011finece\u011fiz.<br data-start=\"4192\" data-end=\"4195\" \/>G\u00f6r\u00fc\u015fmek \u00fczere! \ud83d\udc4b<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Merhaba, Bu yaz\u0131m\u0131zda sizlere SSH \u00fczerinden MySQL veritaban\u0131 onarma i\u015flemini ad\u0131m ad\u0131m anlataca\u011f\u0131z.Zaman zaman veritabanlar\u0131nda tablolar\u0131n bozulmas\u0131, indeks hatalar\u0131 veya dosya yap\u0131s\u0131n\u0131n zarar g\u00f6rmesi gibi durumlar ya\u015fanabilir.\u00d6zellikle b\u00fcy\u00fck veritabanlar\u0131nda bu t\u00fcr onar\u0131m i\u015flemleri web paneller (\u00f6rne\u011fin phpMyAdmin) \u00fczerinden yapmak hem riskli hem de yava\u015f olabilir. Bu nedenle, SSH ba\u011flant\u0131s\u0131 \u00fczerinden do\u011frudan komut sat\u0131r\u0131nda i\u015flem yapmak [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[43],"tags":[],"class_list":["post-92","post","type-post","status-publish","format-standard","hentry","category-linux-genel"],"_links":{"self":[{"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/posts\/92","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/comments?post=92"}],"version-history":[{"count":3,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/posts\/92\/revisions"}],"predecessor-version":[{"id":96,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/posts\/92\/revisions\/96"}],"wp:attachment":[{"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/media?parent=92"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/categories?post=92"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/adveyer.com\/blog\/wp-json\/wp\/v2\/tags?post=92"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}