{"id":3194,"date":"2025-12-08T17:49:51","date_gmt":"2025-12-08T14:49:51","guid":{"rendered":"https:\/\/www.dchost.com\/blog\/mysql-veritabani-yedekleme-stratejileri-mysqldump-percona-xtrabackup-ve-snapshot-nasil-secilir\/"},"modified":"2025-12-08T17:49:51","modified_gmt":"2025-12-08T14:49:51","slug":"mysql-veritabani-yedekleme-stratejileri-mysqldump-percona-xtrabackup-ve-snapshot-nasil-secilir","status":"publish","type":"post","link":"https:\/\/www.dchost.com\/blog\/mysql-veritabani-yedekleme-stratejileri-mysqldump-percona-xtrabackup-ve-snapshot-nasil-secilir\/","title":{"rendered":"MySQL Veritaban\u0131 Yedekleme Stratejileri: mysqldump, Percona XtraBackup ve Snapshot Nas\u0131l Se\u00e7ilir?"},"content":{"rendered":"<div class=\"dchost-blog-content-wrapper\"><div id=\"toc_container\" class=\"toc_transparent no_bullets\"><p class=\"toc_title\">\u0130&ccedil;indekiler<\/p><ul class=\"toc_list\"><li><a href=\"#MySQL_Veritabani_Yedekleme_Stratejilerine_Dogru_Yerden_Bakmak\"><span class=\"toc_number toc_depth_1\">1<\/span> MySQL Veritaban\u0131 Yedekleme Stratejilerine Do\u011fru Yerden Bakmak<\/a><\/li><li><a href=\"#Web_Hostingde_MySQL_Yedekleme_Yaklasimlari_Mantiksal_Fiziksel_ve_Snapshot\"><span class=\"toc_number toc_depth_1\">2<\/span> Web Hosting\u2019de MySQL Yedekleme Yakla\u015f\u0131mlar\u0131: Mant\u0131ksal, Fiziksel ve Snapshot<\/a><\/li><li><a href=\"#mysqldump_Paylasimli_Hosting_ve_Kucuk_Veritabanlari_Icin_Klasik_Cozum\"><span class=\"toc_number toc_depth_1\">3<\/span> mysqldump: Payla\u015f\u0131ml\u0131 Hosting ve K\u00fc\u00e7\u00fck Veritabanlar\u0131 \u0130\u00e7in Klasik \u00c7\u00f6z\u00fcm<\/a><ul><li><a href=\"#mysqldumpin_Artilari\"><span class=\"toc_number toc_depth_2\">3.1<\/span> mysqldump\u2019\u0131n Art\u0131lar\u0131<\/a><\/li><li><a href=\"#mysqldumpin_Eksileri\"><span class=\"toc_number toc_depth_2\">3.2<\/span> mysqldump\u2019\u0131n Eksileri<\/a><\/li><li><a href=\"#Paylasimli_Hostingde_mysqldump_Nasil_Kullanilir\"><span class=\"toc_number toc_depth_2\">3.3<\/span> Payla\u015f\u0131ml\u0131 Hosting\u2019de mysqldump Nas\u0131l Kullan\u0131l\u0131r?<\/a><\/li><li><a href=\"#mysqldump_Ne_Zaman_Yeterli\"><span class=\"toc_number toc_depth_2\">3.4<\/span> mysqldump Ne Zaman Yeterli?<\/a><\/li><\/ul><\/li><li><a href=\"#Percona_XtraBackup_Buyuk_MySQL_Yukleri_Icin_Fiziksel_Yedek\"><span class=\"toc_number toc_depth_1\">4<\/span> Percona XtraBackup: B\u00fcy\u00fck MySQL Y\u00fckleri \u0130\u00e7in Fiziksel Yedek<\/a><ul><li><a href=\"#Percona_XtraBackupin_Guclu_Yanlari\"><span class=\"toc_number toc_depth_2\">4.1<\/span> Percona XtraBackup\u2019\u0131n G\u00fc\u00e7l\u00fc Yanlar\u0131<\/a><\/li><li><a href=\"#Percona_XtraBackupin_Zayif_Noktalari\"><span class=\"toc_number toc_depth_2\">4.2<\/span> Percona XtraBackup\u2019\u0131n Zay\u0131f Noktalar\u0131<\/a><\/li><li><a href=\"#Hangi_Hosting_Ortaminda_XtraBackup_Mantikli\"><span class=\"toc_number toc_depth_2\">4.3<\/span> Hangi Hosting Ortam\u0131nda XtraBackup Mant\u0131kl\u0131?<\/a><\/li><li><a href=\"#Basit_Bir_XtraBackup_Senaryosu\"><span class=\"toc_number toc_depth_2\">4.4<\/span> Basit Bir XtraBackup Senaryosu<\/a><\/li><\/ul><\/li><li><a href=\"#Snapshot_Yedekleri_Milisaniyelik_RPO_ve_Cok_Hizli_Geri_Donus\"><span class=\"toc_number toc_depth_1\">5<\/span> Snapshot Yedekleri: Milisaniyelik RPO ve \u00c7ok H\u0131zl\u0131 Geri D\u00f6n\u00fc\u015f<\/a><ul><li><a href=\"#Snapshotin_Guclu_Yanlari\"><span class=\"toc_number toc_depth_2\">5.1<\/span> Snapshot\u2019\u0131n G\u00fc\u00e7l\u00fc Yanlar\u0131<\/a><\/li><li><a href=\"#Snapshotin_Tehlikeli_Yani_Tutarlilik\"><span class=\"toc_number toc_depth_2\">5.2<\/span> Snapshot\u2019\u0131n Tehlikeli Yan\u0131: Tutarl\u0131l\u0131k<\/a><\/li><li><a href=\"#Snapshot_Yedekleri_Hangi_Ortamlarda_Parliyor\"><span class=\"toc_number toc_depth_2\">5.3<\/span> Snapshot Yedekleri Hangi Ortamlarda Parl\u0131yor?<\/a><\/li><\/ul><\/li><li><a href=\"#3-2-1_Prensibiyle_Birlikte_Dusunmek_Tek_Arac_Asla_Yetmez\"><span class=\"toc_number toc_depth_1\">6<\/span> 3-2-1 Prensibiyle Birlikte D\u00fc\u015f\u00fcnmek: Tek Ara\u00e7 Asla Yetmez<\/a><\/li><li><a href=\"#Farkli_Hosting_Senaryolari_Icin_Pratik_Karar_Sablonu\"><span class=\"toc_number toc_depth_1\">7<\/span> Farkl\u0131 Hosting Senaryolar\u0131 \u0130\u00e7in Pratik Karar \u015eablonu<\/a><ul><li><a href=\"#1_Paylasimli_Hostingde_MySQL_Yedekleme\"><span class=\"toc_number toc_depth_2\">7.1<\/span> 1) Payla\u015f\u0131ml\u0131 Hosting\u2019de MySQL Yedekleme<\/a><\/li><li><a href=\"#2_KucukOrta_Olcekli_VPS_Uzerinde_MySQL\"><span class=\"toc_number toc_depth_2\">7.2<\/span> 2) K\u00fc\u00e7\u00fck\/Orta \u00d6l\u00e7ekli VPS \u00dczerinde MySQL<\/a><\/li><li><a href=\"#3_Buyuk_VPSDedicated_ve_Yuksek_Trafikli_Siteler\"><span class=\"toc_number toc_depth_2\">7.3<\/span> 3) B\u00fcy\u00fck VPS\/Dedicated ve Y\u00fcksek Trafikli Siteler<\/a><\/li><\/ul><\/li><li><a href=\"#Gercekci_Bir_Ornek_DCHost_Uzerinde_WooCommerce_MySQL_Yedekleme_Tasarimi\"><span class=\"toc_number toc_depth_1\">8<\/span> Ger\u00e7ek\u00e7i Bir \u00d6rnek: DCHost \u00dczerinde WooCommerce MySQL Yedekleme Tasar\u0131m\u0131<\/a><\/li><li><a href=\"#mysqldump_XtraBackup_ve_Snapshot_Arasinda_Secim_Icin_Kontrol_Listesi\"><span class=\"toc_number toc_depth_1\">9<\/span> mysqldump, XtraBackup ve Snapshot Aras\u0131nda Se\u00e7im \u0130\u00e7in Kontrol Listesi<\/a><ul><li><a href=\"#Soru_1_Sunucuya_Root_Erisiminiz_Var_mi\"><span class=\"toc_number toc_depth_2\">9.1<\/span> Soru 1: Sunucuya Root Eri\u015fiminiz Var m\u0131?<\/a><\/li><li><a href=\"#Soru_2_Veritabani_Boyutunuz_Ne_Kadar\"><span class=\"toc_number toc_depth_2\">9.2<\/span> Soru 2: Veritaban\u0131 Boyutunuz Ne Kadar?<\/a><\/li><li><a href=\"#Soru_3_Kabul_Edebilir_Veri_Kaybi_RPO_Ne\"><span class=\"toc_number toc_depth_2\">9.3<\/span> Soru 3: Kabul Edebilir Veri Kayb\u0131 (RPO) Ne?<\/a><\/li><li><a href=\"#Soru_4_Kabul_Edebilir_Kesinti_Suresi_RTO_Ne\"><span class=\"toc_number toc_depth_2\">9.4<\/span> Soru 4: Kabul Edebilir Kesinti S\u00fcresi (RTO) Ne?<\/a><\/li><\/ul><\/li><li><a href=\"#Sonuc_MySQL_Yedekleme_Arac_Seciminden_Fazlasi\"><span class=\"toc_number toc_depth_1\">10<\/span> Sonu\u00e7: MySQL Yedekleme, Ara\u00e7 Se\u00e7iminden Fazlas\u0131<\/a><\/li><\/ul><\/div>\n<h2><span id=\"MySQL_Veritabani_Yedekleme_Stratejilerine_Dogru_Yerden_Bakmak\">MySQL Veritaban\u0131 Yedekleme Stratejilerine Do\u011fru Yerden Bakmak<\/span><\/h2>\n<p>MySQL yedekleme konusu g\u00fcndeme geldi\u011finde ilk akla gelen genelde \u015fu olur: &#8220;Ne ile yedek alal\u0131m?&#8221; Oysa as\u0131l soru &#8220;Ne kadar veri kayb\u0131na tahamm\u00fcl edebiliriz (RPO) ve sistem ne kadar s\u00fcre kapal\u0131 kalabilir (RTO)?&#8221; olmal\u0131. E\u011fer bu iki sorunun cevab\u0131 net de\u011filse, mysqldump m\u0131, Percona XtraBackup m\u0131, snapshot m\u0131 tart\u0131\u015fmas\u0131 hep havada kal\u0131r. RPO\/RTO kavramlar\u0131n\u0131 daha \u00f6nce <a href=\"https:\/\/www.dchost.com\/blog\/yedekleme-stratejisi-nasil-planlanir-blog-e-ticaret-ve-saas-siteleri-icin-rpo-rto-rehberi\/\">yedekleme stratejisi planlama rehberimizde<\/a> detayl\u0131 anlatt\u0131k; bu yaz\u0131da o \u00e7er\u00e7eveyi MySQL \u00f6zelinde somutla\u015ft\u0131raca\u011f\u0131z.<\/p>\n<p>Web hosting d\u00fcnyas\u0131nda i\u015f biraz daha kar\u0131\u015f\u0131k. <a href=\"https:\/\/www.dchost.com\/tr\/web-hosting\">payla\u015f\u0131ml\u0131 hosting<\/a>, y\u00f6netilen <a href=\"https:\/\/www.dchost.com\/tr\/vps\">VPS<\/a>, kendi y\u00f6netti\u011finiz VPS\/dedicated ve colocation gibi \u00e7ok farkl\u0131 senaryolar var. Baz\u0131 ortamlarda sadece mysqldump \u00e7al\u0131\u015ft\u0131rabilirsiniz; baz\u0131 ortamlarda Percona XtraBackup ile fiziksel yedek alabilir, baz\u0131 ortamlarda ise disk veya hypervisor snapshot\u2019lar\u0131 devreye sokabilirsiniz. DCHost taraf\u0131nda g\u00fcnl\u00fck operasyonlarda en \u00e7ok g\u00f6rd\u00fc\u011f\u00fcm\u00fcz sorun, bu \u00fc\u00e7 y\u00f6ntemin birbirinin alternatifi san\u0131lmas\u0131. Asl\u0131nda \u00e7o\u011fu ger\u00e7ek\u00e7i mimaride bunlar birbirini tamaml\u0131yor.<\/p>\n<p>Bu yaz\u0131da <strong>mysqldump<\/strong>, <strong>Percona XtraBackup<\/strong> ve <strong>snapshot tabanl\u0131 yedekler<\/strong> aras\u0131ndaki farklar\u0131; hangi hosting ortam\u0131nda hangisinin mant\u0131kl\u0131 oldu\u011funu; bunlar\u0131 RPO\/RTO hedeflerinizle nas\u0131l e\u015fle\u015ftirece\u011finizi ad\u0131m ad\u0131m konu\u015faca\u011f\u0131z. Sonunda, DCHost \u00fczerinde \u00e7al\u0131\u015fan MySQL veritabanlar\u0131n\u0131z i\u00e7in pratik bir karar \u015fablonuna sahip olacaks\u0131n\u0131z.<\/p>\n<h2><span id=\"Web_Hostingde_MySQL_Yedekleme_Yaklasimlari_Mantiksal_Fiziksel_ve_Snapshot\">Web Hosting\u2019de MySQL Yedekleme Yakla\u015f\u0131mlar\u0131: Mant\u0131ksal, Fiziksel ve Snapshot<\/span><\/h2>\n<p>\u00d6nce b\u00fcy\u00fck resmi netle\u015ftirelim. MySQL yedeklerini kabaca \u00fc\u00e7 farkl\u0131 yakla\u015f\u0131mla alabilirsiniz:<\/p>\n<ul>\n<li><strong>Mant\u0131ksal yedekler<\/strong> (mysqldump, mydumper vb.)<\/li>\n<li><strong>Fiziksel yedekler<\/strong> (Percona XtraBackup gibi ara\u00e7larla dosya seviyesinde kopya)<\/li>\n<li><strong>Depolama\/sistem snapshot\u2019lar\u0131<\/strong> (LVM, ZFS, hypervisor veya storage katman\u0131nda snapshot)<\/li>\n<\/ul>\n<p>Her yakla\u015f\u0131m\u0131n kendine g\u00f6re g\u00fc\u00e7l\u00fc ve zay\u0131f taraflar\u0131 var. En kritik noktalar:<\/p>\n<ul>\n<li><strong>Tutarl\u0131l\u0131k:<\/strong> Yede\u011fin geri d\u00f6nd\u00fc\u011f\u00fcnde \u00e7al\u0131\u015f\u0131r ve tutarl\u0131 olmas\u0131.<\/li>\n<li><strong>Performans etkisi:<\/strong> Yedek al\u0131rken canl\u0131 sisteme verdi\u011fi y\u00fck.<\/li>\n<li><strong>Geri d\u00f6n\u00fc\u015f h\u0131z\u0131 (restore s\u00fcresi):<\/strong> Felaket an\u0131nda ne kadar h\u0131zl\u0131 aya\u011fa kalkabildi\u011finiz.<\/li>\n<li><strong>Operasyonel karma\u015f\u0131kl\u0131k:<\/strong> Kurulum, izleme ve test zorlu\u011fu.<\/li>\n<\/ul>\n<p>Bu \u00fc\u00e7 y\u00f6ntemi kar\u015f\u0131la\u015ft\u0131r\u0131rken sadece &#8220;hangisi daha iyi&#8221; diye bakmak yerine, <strong>hangi ortamda hangisi birincil y\u00f6ntem, hangisi tamamlay\u0131c\u0131 y\u00f6ntem olmal\u0131<\/strong> diye d\u00fc\u015f\u00fcnmek \u00e7ok daha sa\u011fl\u0131kl\u0131. Zaten <a href=\"https:\/\/www.dchost.com\/blog\/mysql-mariadb-yedekleme-stratejileri-mysqldump-mi-xtrabackup-mi-ve-point%E2%80%91in%E2%80%91time-recovery-ne-zaman\/\">MySQL\/MariaDB yedekleme stratejileri yaz\u0131m\u0131zda<\/a> da vurgulad\u0131\u011f\u0131m\u0131z gibi, ciddi projelerde tek araca yaslanmak neredeyse hi\u00e7 iyi fikir de\u011fil.<\/p>\n<h2><span id=\"mysqldump_Paylasimli_Hosting_ve_Kucuk_Veritabanlari_Icin_Klasik_Cozum\">mysqldump: Payla\u015f\u0131ml\u0131 Hosting ve K\u00fc\u00e7\u00fck Veritabanlar\u0131 \u0130\u00e7in Klasik \u00c7\u00f6z\u00fcm<\/span><\/h2>\n<p><strong>mysqldump<\/strong>, MySQL ile birlikte gelen, mant\u0131ksal (logical) yedek alan bir ara\u00e7t\u0131r. Temel mant\u0131\u011f\u0131, veritaban\u0131n\u0131 SQL komutlar\u0131 (CREATE TABLE, INSERT vb.) olarak d\u0131\u015fa aktarmak ve bunlar\u0131 bir .sql dosyas\u0131nda toplamak. Bu dosyay\u0131 daha sonra ba\u015fka bir MySQL sunucusuna import ederek veritaban\u0131n\u0131 yeniden olu\u015fturabilirsiniz.<\/p>\n<h3><span id=\"mysqldumpin_Artilari\">mysqldump\u2019\u0131n Art\u0131lar\u0131<\/span><\/h3>\n<ul>\n<li><strong>Her yerde \u00e7al\u0131\u015f\u0131r:<\/strong> Payla\u015f\u0131ml\u0131 hosting, y\u00f6netimli VPS, root yetkisi olmayan ortamlarda bile kullan\u0131labilir.<\/li>\n<li><strong>Versiyon esnekli\u011fi:<\/strong> Genelde daha yeni bir MySQL s\u00fcr\u00fcm\u00fcne import etmek kolayd\u0131r; fiziksel yedeklerdeki &#8220;minor s\u00fcr\u00fcm uyumsuzlu\u011fu&#8221; dertleri burada daha az.<\/li>\n<li><strong>Tablo\/\u015fema seviyesi esneklik:<\/strong> Sadece belirli tablolar\u0131, \u015femalar\u0131 veya veriyi filtreleyerek yedeklemek m\u00fcmk\u00fcnd\u00fcr.<\/li>\n<li><strong>Okunabilirlik:<\/strong> Yedek d\u00fcz SQL oldu\u011fu i\u00e7in gerekti\u011finde dosya \u00fczerinden inceleme, arama, manuel d\u00fczeltme yap\u0131labilir.<\/li>\n<\/ul>\n<h3><span id=\"mysqldumpin_Eksileri\">mysqldump\u2019\u0131n Eksileri<\/span><\/h3>\n<ul>\n<li><strong>Yava\u015f restore:<\/strong> Geri y\u00fckleme s\u0131ras\u0131nda her INSERT tek tek \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in b\u00fcy\u00fck veritabanlar\u0131nda restore s\u00fcresi uzar.<\/li>\n<li><strong>Y\u00fcksek CPU\/IO t\u00fcketimi:<\/strong> \u00d6zellikle b\u00fcy\u00fck veritabanlar\u0131nda hem export hem import s\u0131ras\u0131nda ciddi kaynak kullan\u0131r.<\/li>\n<li><strong>B\u00fcy\u00fck verilerde \u00f6l\u00e7eklenme sorunu:<\/strong> 50\u2013100 GB \u00fcst\u00fc InnoDB veritabanlar\u0131nda art\u0131k mant\u0131ksal yedek pratik olmaktan \u00e7\u0131kar.<\/li>\n<\/ul>\n<h3><span id=\"Paylasimli_Hostingde_mysqldump_Nasil_Kullanilir\">Payla\u015f\u0131ml\u0131 Hosting\u2019de mysqldump Nas\u0131l Kullan\u0131l\u0131r?<\/span><\/h3>\n<p>Payla\u015f\u0131ml\u0131 hosting kullan\u0131yorsan\u0131z eliniz \u00e7o\u011fu zaman zaten <strong>mysqldump + panel yedekleri<\/strong> ile s\u0131n\u0131rl\u0131d\u0131r. Genelde iki yol vard\u0131r:<\/p>\n<ul>\n<li>Kontrol panelinin (cPanel, DirectAdmin vb.) sundu\u011fu <strong>otomatik veritaban\u0131 yedeklerine g\u00fcvenmek<\/strong>.<\/li>\n<li>Ek olarak periyodik bir <strong>mysqldump \u00e7al\u0131\u015ft\u0131r\u0131p yede\u011fi ayr\u0131 bir depolamaya aktarmak<\/strong> (cron + uzak FTP\/S3 vb.).<\/li>\n<\/ul>\n<p>Basit bir tam yedek \u00f6rne\u011fi \u015fu \u015fekilde olabilir:<\/p>\n<pre class=\"language-bash line-numbers\"><code class=\"language-bash\">mysqldump -u USER -p \n  --single-transaction \n  --routines --events \n  --databases VERITABANI_ADI \n  | gzip &gt; backup-$(date +%F).sql.gz\n<\/code><\/pre>\n<p><code>--single-transaction<\/code> parametresi InnoDB tablolar i\u00e7in <strong>tutarl\u0131 bir anl\u0131k g\u00f6r\u00fcnt\u00fc<\/strong> sa\u011flar ve <code>FLUSH TABLES WITH READ LOCK<\/code> kullanmaya g\u00f6re \u00e7ok daha az kilit problemi ya\u015fars\u0131n\u0131z.<\/p>\n<h3><span id=\"mysqldump_Ne_Zaman_Yeterli\">mysqldump Ne Zaman Yeterli?<\/span><\/h3>\n<p>A\u015fa\u011f\u0131daki ko\u015fullar sa\u011flan\u0131yorsa mysqldump genellikle tek ba\u015f\u0131na idare eder:<\/p>\n<ul>\n<li>Toplam veritaban\u0131 boyutu 5\u201310 GB civar\u0131nda veya alt\u0131nda.<\/li>\n<li>RPO hedefiniz saatlik veya g\u00fcnl\u00fck seviyede ve \u00e7ok kritik de\u011fil (\u00f6r. i\u00e7erik\/blog siteleri).<\/li>\n<li>Restore oldu\u011funda birka\u00e7 saatlik kesinti tolere edilebilir.<\/li>\n<li>Payla\u015f\u0131ml\u0131 hosting kullan\u0131yor ve root yetkisine sahip de\u011filsiniz.<\/li>\n<\/ul>\n<p>Buna kar\u015f\u0131l\u0131k, y\u00fcksek trafikli bir WooCommerce ma\u011fazas\u0131, yo\u011fun kullan\u0131lan bir SaaS \u00fcr\u00fcn\u00fc veya finansal verilerin bulundu\u011fu kritik sistemler i\u00e7in mysqldump\u2019\u0131 tek bacak yapman\u0131z\u0131 \u00f6nermeyiz; burada i\u015fin i\u00e7ine mutlaka fiziksel yedekler ve\/veya snapshot\u2019lar girmeli.<\/p>\n<h2><span id=\"Percona_XtraBackup_Buyuk_MySQL_Yukleri_Icin_Fiziksel_Yedek\">Percona XtraBackup: B\u00fcy\u00fck MySQL Y\u00fckleri \u0130\u00e7in Fiziksel Yedek<\/span><\/h2>\n<p><strong>Percona XtraBackup<\/strong>, \u00f6zellikle InnoDB motoru i\u00e7in tasarlanm\u0131\u015f, <strong>s\u0131cak (hot) fiziksel yedek<\/strong> arac\u0131. Temel fark\u0131 \u015fu: mysqldump veritaban\u0131n\u0131 SQL komutlar\u0131na \u00e7evirirken, XtraBackup do\u011frudan MySQL\u2019in veri dosyalar\u0131n\u0131 (ibdata, ibd dosyalar\u0131, redo log vb.) kopyalar. Bunu da veritaban\u0131 \u00e7al\u0131\u015f\u0131rken, minimum kilitleme ile yapar.<\/p>\n<h3><span id=\"Percona_XtraBackupin_Guclu_Yanlari\">Percona XtraBackup\u2019\u0131n G\u00fc\u00e7l\u00fc Yanlar\u0131<\/span><\/h3>\n<ul>\n<li><strong>H\u0131zl\u0131 yedek ve h\u0131zl\u0131 geri d\u00f6n\u00fc\u015f:<\/strong> Dosya seviyesinde kopyalama yapt\u0131\u011f\u0131 i\u00e7in hem backup hem restore s\u00fcresi b\u00fcy\u00fck veritabanlar\u0131nda mant\u0131ksal yedeklere g\u00f6re \u00e7ok daha k\u0131sad\u0131r.<\/li>\n<li><strong>InnoDB i\u00e7in neredeyse s\u0131f\u0131r kesinti:<\/strong> Yedekleme s\u0131ras\u0131nda sadece k\u0131sa s\u00fcreli metadata kilitleri gerekir; canl\u0131 trafik b\u00fcy\u00fck \u00f6l\u00e7\u00fcde devam eder.<\/li>\n<li><strong>Art\u0131ml\u0131 (incremental) yedek deste\u011fi:<\/strong> G\u00fcnl\u00fck tam yedek + saatlik incremental gibi kurgularla depolama ve trafik maliyetini d\u00fc\u015f\u00fcrebilirsiniz.<\/li>\n<li><strong>Point-in-Time Recovery (PITR) entegrasyonu:<\/strong> Binary log ile birle\u015fti\u011finde saniye hassasiyetinde geri d\u00f6n\u00fc\u015f senaryolar\u0131 kurulabilir.<\/li>\n<\/ul>\n<h3><span id=\"Percona_XtraBackupin_Zayif_Noktalari\">Percona XtraBackup\u2019\u0131n Zay\u0131f Noktalar\u0131<\/span><\/h3>\n<ul>\n<li><strong>Kurum ve y\u00f6netim daha karma\u015f\u0131k:<\/strong> \u00d6zellikle ilk seferde prepare, restore, kullan\u0131c\u0131 izinleri ve versiyon uyumlulu\u011fu gibi detaylar\u0131 do\u011fru oturtmak gerekiyor.<\/li>\n<li><strong>Root\/OS yetkisi ister:<\/strong> Payla\u015f\u0131ml\u0131 hosting\u2019lerde genelde kullanamazs\u0131n\u0131z; VPS\/dedicated veya colocation ortam\u0131 gerekir.<\/li>\n<li><strong>Disk layout ba\u011f\u0131ml\u0131l\u0131\u011f\u0131:<\/strong> Ayn\u0131 MySQL major\/minor s\u00fcr\u00fcm\u00fc, benzer konfig\u00fcrasyon (innodb_page_size vb.) gibi konulara dikkat edilmezse restore s\u00fcreci sanc\u0131l\u0131 olabilir.<\/li>\n<\/ul>\n<h3><span id=\"Hangi_Hosting_Ortaminda_XtraBackup_Mantikli\">Hangi Hosting Ortam\u0131nda XtraBackup Mant\u0131kl\u0131?<\/span><\/h3>\n<p>XtraBackup, daha \u00e7ok \u015fu senaryolara yak\u0131\u015f\u0131r:<\/p>\n<ul>\n<li>DCHost \u00fczerinde kendi y\u00f6netti\u011finiz <strong>VPS veya <a href=\"https:\/\/www.dchost.com\/tr\/fiziksel-sunucu\">dedicated sunucu<\/a>lar<\/strong>.<\/li>\n<li>Disk alan\u0131n\u0131z ve IO\u2019nuz nispeten bol; cron ile gece\/g\u00fcnd\u00fcz periyodik yedek alabiliyorsunuz.<\/li>\n<li>Veritaban\u0131 boyutunuz onlarca GB seviyesine gelmi\u015f ve mysqldump ile restore s\u00fcreleri art\u0131k saatleri buluyor.<\/li>\n<li>WooCommerce, Laravel veya \u00f6zel yaz\u0131l\u0131m gibi, veritaban\u0131 trafi\u011fi yo\u011fun, RPO\/RTO hedefleri g\u00f6rece s\u0131k\u0131 projeler.<\/li>\n<\/ul>\n<p>\u00d6rne\u011fin DCHost \u00fczerinde \u00e7al\u0131\u015fan 80 GB\u2019l\u0131k bir WooCommerce veritaban\u0131nda; gecelik tam XtraBackup, saatlik incremental ve binary log ar\u015fivleme ile hem <strong>d\u00fc\u015f\u00fck RPO<\/strong> hem de <strong>h\u0131zl\u0131 geri d\u00f6n\u00fc\u015f<\/strong> elde etmek m\u00fcmk\u00fcn.<\/p>\n<h3><span id=\"Basit_Bir_XtraBackup_Senaryosu\">Basit Bir XtraBackup Senaryosu<\/span><\/h3>\n<p>Temel ak\u0131\u015f genelde \u015f\u00f6yledir:<\/p>\n<ol>\n<li>Gece 03:00\u2019de tam fiziksel yedek (<em>full backup<\/em>).<\/li>\n<li>G\u00fcn i\u00e7inde her saat incremental yedekler.<\/li>\n<li>Binary log\u2019lar ayr\u0131 klas\u00f6rde veya uzak depolamada tutulur.<\/li>\n<li>Restore gerekti\u011finde; son tam yedek + ilgili incremental\u2019ler + binary log\u2019larla istenen ana kadar geri sar\u0131l\u0131r.<\/li>\n<\/ol>\n<p>Bu mimariyi, \u00f6rne\u011fin <a href=\"https:\/\/www.dchost.com\/blog\/restic-ve-borg-ile-s3-uyumlu-uzak-yedekleme-surumleme-sifreleme-ve-saklama-ne-zaman-nasil\/\">Restic\/Borg ile S3 uyumlu uzak yedekleme<\/a> gibi dosya seviyesinde \u00e7\u00f6z\u00fcmlerle birle\u015ftirerek DCHost \u00fczerindeki farkl\u0131 veri merkezlerine veya S3 uyumlu depolamaya replikasyon yapmak da m\u00fcmk\u00fcn.<\/p>\n<h2><span id=\"Snapshot_Yedekleri_Milisaniyelik_RPO_ve_Cok_Hizli_Geri_Donus\">Snapshot Yedekleri: Milisaniyelik RPO ve \u00c7ok H\u0131zl\u0131 Geri D\u00f6n\u00fc\u015f<\/span><\/h2>\n<p><strong>Snapshot<\/strong>, veritaban\u0131n\u0131 de\u011fil, verinin bulundu\u011fu <strong>disk\/volume katman\u0131n\u0131<\/strong> anl\u0131k donduran bir mekanizmad\u0131r. Bunu LVM, ZFS, Ceph RBD, hypervisor d\u00fczeyi snapshot veya storage sisteminin kendi snapshot \u00f6zelli\u011fi ile yapabilirsiniz. DCHost taraf\u0131nda \u00f6zellikle NVMe tabanl\u0131 VPS ve dedicated sunucularda, LVM\/ZFS snapshot\u2019lar\u0131n\u0131 XtraBackup veya mysqldump ile birlikte kullanmak s\u0131k g\u00f6rd\u00fc\u011f\u00fcm\u00fcz bir yakla\u015f\u0131m.<\/p>\n<h3><span id=\"Snapshotin_Guclu_Yanlari\">Snapshot\u2019\u0131n G\u00fc\u00e7l\u00fc Yanlar\u0131<\/span><\/h3>\n<ul>\n<li><strong>\u00c7ok h\u0131zl\u0131:<\/strong> Genelde saniyeler hatta milisaniyeler i\u00e7inde snapshot al\u0131nabilir; b\u00fcy\u00fck verilerde bile yedek alma s\u00fcresi k\u0131sal\u0131r.<\/li>\n<li><strong>Hafif:<\/strong> \u00c7o\u011fu snapshot mekanizmas\u0131 copy-on-write mant\u0131\u011f\u0131yla \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in ba\u015flang\u0131\u00e7ta \u00e7ok az ek alan kullan\u0131r.<\/li>\n<li><strong>H\u0131zl\u0131 geri d\u00f6n\u00fc\u015f:<\/strong> \u00d6zellikle ayn\u0131 storage \u00fczerinde geri d\u00f6n\u00fcyorsan\u0131z, restore s\u00fcresi dosya kopyalamaya g\u00f6re \u00e7ok daha k\u0131sa olabilir.<\/li>\n<\/ul>\n<h3><span id=\"Snapshotin_Tehlikeli_Yani_Tutarlilik\">Snapshot\u2019\u0131n Tehlikeli Yan\u0131: Tutarl\u0131l\u0131k<\/span><\/h3>\n<p>Snapshot tek ba\u015f\u0131na sadece <strong>diskte ne varsa onu dondurur<\/strong>. MySQL ise RAM\u2019de buffer pool, disk \u00fczerinde redo log, doublewrite buffer gibi mekanizmalarla \u00e7al\u0131\u015ft\u0131\u011f\u0131 i\u00e7in, rastgele bir anda al\u0131nan snapshot <strong>crash-consistent<\/strong> d\u00fczeyde olur. Yani sistem sanki elektrik kesilmi\u015f gibi kapanm\u0131\u015f kabul edilir; \u00e7o\u011fu durumda MySQL kendini toparlar, ama <strong>yo\u011fun yazma y\u00fck\u00fc alt\u0131nda bu her zaman garantili de\u011fildir<\/strong>.<\/p>\n<p>Bu y\u00fczden snapshot\u2019lar\u0131 m\u00fcmk\u00fcn oldu\u011funca <strong>uygulama-tutarl\u0131<\/strong> hale getirmek gerekir. Bunun i\u00e7in tipik olarak:<\/p>\n<ul>\n<li>MySQL\u2019de <code>FLUSH TABLES WITH READ LOCK<\/code> veya <code>FLUSH TABLES ...<\/code> + <code>FLUSH LOGS<\/code> gibi komutlarla yazmalar\u0131 dondurmak,<\/li>\n<li>Linux taraf\u0131nda <code>fsfreeze<\/code> kullanarak dosya sistemini k\u0131sa s\u00fcreli\u011fine dondurmak,<\/li>\n<li>Sonra LVM\/ZFS vb. snapshot\u2019\u0131n\u0131 al\u0131p kilitleri b\u0131rakmak<\/li>\n<\/ul>\n<p>gibi bir ak\u0131\u015f tercih edilir. Bu konuyu MySQL\/PostgreSQL odakl\u0131 olarak ad\u0131m ad\u0131m anlatt\u0131\u011f\u0131m\u0131z <a href=\"https:\/\/www.dchost.com\/blog\/uygulama%e2%80%91tutarli-yedekler-nasil-alinir-lvm-snapshot-ve-fsfreeze-ile-mysql-postgresqli-usutmeden-dondurmak\/\">uygulama-tutarl\u0131 yedekler rehberini<\/a> mutlaka okuman\u0131z\u0131 \u00f6neririm.<\/p>\n<h3><span id=\"Snapshot_Yedekleri_Hangi_Ortamlarda_Parliyor\">Snapshot Yedekleri Hangi Ortamlarda Parl\u0131yor?<\/span><\/h3>\n<p>Snapshot yakla\u015f\u0131m\u0131 \u00f6zellikle \u015fu senaryolarda \u00e7ok de\u011ferli:<\/p>\n<ul>\n<li>DCHost \u00fczerinde NVMe diskli VPS veya dedicated sunucuda, <strong>b\u00fcy\u00fck InnoDB veritabanlar\u0131<\/strong> tutuyorsunuz.<\/li>\n<li>RPO hedefiniz dakikalar mertebesinde; s\u0131k snapshot al\u0131p araya incremental XtraBackup\u2019lar yerle\u015ftirebiliyorsunuz.<\/li>\n<li>Ayn\u0131 storage \u00fczerinde saniyeler i\u00e7inde <strong>test restore<\/strong> yapmak istiyorsunuz.<\/li>\n<\/ul>\n<p>Ancak snapshot\u2019lar\u0131n \u00e7o\u011fu zaman <strong>ayn\u0131 fiziksel altyap\u0131da<\/strong> tutuldu\u011funu unutmay\u0131n. Bu nedenle snapshot, 3-2-1 prensibindeki &#8220;farkl\u0131 ortamda yedek&#8221; gereksinimini tek ba\u015f\u0131na kar\u015f\u0131lamaz. Snapshot\u2019lar\u0131 mutlaka <strong>ayr\u0131 bir depolamaya replikasyon<\/strong> (\u00f6r. S3 uyumlu storage) veya <strong>fiziksel yedekle birle\u015ftirerek<\/strong> d\u00fc\u015f\u00fcnmek gerekir.<\/p>\n<h2><span id=\"3-2-1_Prensibiyle_Birlikte_Dusunmek_Tek_Arac_Asla_Yetmez\">3-2-1 Prensibiyle Birlikte D\u00fc\u015f\u00fcnmek: Tek Ara\u00e7 Asla Yetmez<\/span><\/h2>\n<p>\u0130\u015f sadece &#8220;mysqldump m\u0131, XtraBackup m\u0131, snapshot m\u0131&#8221; sorusuyla bitmiyor. Yedeklerinizi <strong>nerede<\/strong>, <strong>ka\u00e7 kopya<\/strong> ve <strong>hangi ortamda<\/strong> tuttu\u011funuz en az ara\u00e7 se\u00e7imi kadar kritik. Bu noktada klasik <strong>3-2-1 yedekleme stratejisi<\/strong> devreye giriyor:<\/p>\n<ul>\n<li><strong>3 kopya:<\/strong> Verinizin en az 3 kopyas\u0131 olmal\u0131 (orijinal + 2 yedek).<\/li>\n<li><strong>2 farkl\u0131 ortam:<\/strong> Bu kopyalar en az 2 farkl\u0131 depolama ortam\u0131nda tutulmal\u0131 (farkl\u0131 disk havuzlar\u0131, farkl\u0131 storage sistemleri).<\/li>\n<li><strong>1 tanesi offsite:<\/strong> En az bir kopya fiziksel olarak farkl\u0131 bir lokasyonda veya mant\u0131ksal olarak ayr\u0131 bir sa\u011flay\u0131c\u0131da olmal\u0131.<\/li>\n<\/ul>\n<p>Bunu MySQL\u2019e uyarlad\u0131\u011f\u0131n\u0131zda, \u00f6rne\u011fin \u015f\u00f6yle bir kombinasyon ortaya \u00e7\u0131kabilir:<\/p>\n<ul>\n<li><strong>Seviye 1:<\/strong> Ayn\u0131 sunucuda LVM\/ZFS snapshot (\u00e7ok h\u0131zl\u0131 local geri d\u00f6n\u00fc\u015f i\u00e7in).<\/li>\n<li><strong>Seviye 2:<\/strong> Ayr\u0131 bir disk veya sunucuda Percona XtraBackup ile fiziksel yedek.<\/li>\n<li><strong>Seviye 3:<\/strong> S3 uyumlu depolama \u00fczerinde \u015fifreli ve versiyonlu yedek (\u00f6r. Restic\/Borg ile). Buraya ek olarak <a href=\"https:\/\/www.dchost.com\/blog\/s3-object-lock-ile-fidye-yazilima-karsi-kale-gibi-yedek-versioning-mfa-delete-ve-geri-donus-testlerini-samimi-samimi-konusalim\/\">S3 Object Lock ile fidye yaz\u0131l\u0131ma dayan\u0131kl\u0131 yedekler<\/a> gibi koruma katmanlar\u0131 eklenebilir.<\/li>\n<\/ul>\n<p>Bu prensibi hosting panelleri, VPS ve dedicated sunucular i\u00e7in nas\u0131l uygulanabilir hale getirebilece\u011finizi <a href=\"https:\/\/www.dchost.com\/blog\/3-2-1-yedekleme-stratejisi-neden-ise-yariyor-cpanel-plesk-ve-vpste-otomatik-yedekleri-nasil-kurarsin\/\">3-2-1 yedekleme stratejisi rehberimizde<\/a> ad\u0131m ad\u0131m anlatt\u0131k. MySQL yedeklerinizi planlarken o yaz\u0131yla birlikte okursan\u0131z, stratejiniz \u00e7ok daha sa\u011flam oturur.<\/p>\n<h2><span id=\"Farkli_Hosting_Senaryolari_Icin_Pratik_Karar_Sablonu\">Farkl\u0131 Hosting Senaryolar\u0131 \u0130\u00e7in Pratik Karar \u015eablonu<\/span><\/h2>\n<p>\u015eimdi en kritik k\u0131sma gelelim: DCHost \u00fczerinde hangi senaryoda hangi yakla\u015f\u0131m\u0131 birincil, hangisini tamamlay\u0131c\u0131 yapmal\u0131s\u0131n\u0131z?<\/p>\n<h3><span id=\"1_Paylasimli_Hostingde_MySQL_Yedekleme\">1) Payla\u015f\u0131ml\u0131 Hosting\u2019de MySQL Yedekleme<\/span><\/h3>\n<p>Genelde k\u0131s\u0131tlar\u0131n\u0131z \u015f\u00f6yle olur:<\/p>\n<ul>\n<li>Root yetkisi yok.<\/li>\n<li>MySQL\u2019in data dizinine eri\u015fiminiz yok.<\/li>\n<li>Disk, CPU, IO limitleri s\u0131k\u0131.<\/li>\n<\/ul>\n<p>Bu durumda tipik strateji:<\/p>\n<ul>\n<li><strong>Birincil y\u00f6ntem:<\/strong> Hosting panelinin sa\u011flad\u0131\u011f\u0131 otomatik veritaban\u0131 yedekleri.<\/li>\n<li><strong>Tamamlay\u0131c\u0131:<\/strong> G\u00fcnl\u00fck veya saatlik <strong>mysqldump<\/strong> al\u0131p ayr\u0131 bir depolamaya g\u00f6ndermek (\u00f6rn. uzak SFTP\/S3).<\/li>\n<\/ul>\n<p>E\u011fer MySQL veriniz 2\u20133 GB\u2019tan b\u00fcy\u00fckse ve i\u015f kritikse, genelde <strong>VPS\u2019e ge\u00e7i\u015fi<\/strong> d\u00fc\u015f\u00fcnmenin zaman\u0131 gelmi\u015ftir. Bu konuda karars\u0131zsan\u0131z, genel perspektif i\u00e7in <a href=\"https:\/\/www.dchost.com\/blog\/paylasimli-hostingden-vpse-sorunsuz-gecis-rehberi\/\">payla\u015f\u0131ml\u0131 hosting\u2019den VPS\u2019e ge\u00e7i\u015f rehberimize<\/a> de g\u00f6z atabilirsiniz.<\/p>\n<h3><span id=\"2_KucukOrta_Olcekli_VPS_Uzerinde_MySQL\">2) K\u00fc\u00e7\u00fck\/Orta \u00d6l\u00e7ekli VPS \u00dczerinde MySQL<\/span><\/h3>\n<p>Burada art\u0131k root yetkiniz var, disk \u015feman\u0131z\u0131 kontrol edebiliyorsunuz ve cron job\u2019lar kurabilirsiniz. Tipik bir strateji \u015f\u00f6yle olabilir:<\/p>\n<ul>\n<li><strong>Birincil y\u00f6ntem:<\/strong> G\u00fcnl\u00fck tam <strong>Percona XtraBackup<\/strong>.<\/li>\n<li><strong>Tamamlay\u0131c\u0131 1:<\/strong> Saatlik veya iki saatte bir <strong>binary log ar\u015fivleme<\/strong> ile PITR.<\/li>\n<li><strong>Tamamlay\u0131c\u0131 2:<\/strong> g\u00fcnde birka\u00e7 kez <strong>LVM\/ZFS snapshot<\/strong> (\u00f6zellikle \u015fema de\u011fi\u015fikli\u011fi veya b\u00fcy\u00fck g\u00fcncellemeler \u00f6ncesi).<\/li>\n<li><strong>Offsite:<\/strong> XtraBackup \u00e7\u0131kt\u0131lar\u0131n\u0131 veya s\u0131k\u0131\u015ft\u0131r\u0131lm\u0131\u015f snapshot imajlar\u0131n\u0131 S3 uyumlu uzak depolamaya kopyalamak.<\/li>\n<\/ul>\n<p>Bu seviyede genelde mysqldump\u2019\u0131 sadece <strong>\u015fema de\u011fi\u015fikli\u011fi \u00f6ncesi, belirli tablolar i\u00e7in<\/strong> veya &#8220;insan okunabilir&#8221; bir yedek gerekti\u011finde kullan\u0131yoruz.<\/p>\n<h3><span id=\"3_Buyuk_VPSDedicated_ve_Yuksek_Trafikli_Siteler\">3) B\u00fcy\u00fck VPS\/Dedicated ve Y\u00fcksek Trafikli Siteler<\/span><\/h3>\n<p>\u00d6rne\u011fin DCHost \u00fczerinde \u00e7al\u0131\u015fan b\u00fcy\u00fck bir WooCommerce ma\u011fazas\u0131, \u00e7ok kirac\u0131l\u0131 SaaS, yo\u011fun yazma trafi\u011fi alan bir mikroservis mimarisi\u2026 Bu durumda hedefler daha iddial\u0131:<\/p>\n<ul>\n<li>RPO: 5\u201315 dakika.<\/li>\n<li>RTO: 15\u201360 dakika.<\/li>\n<\/ul>\n<p>Bu tip ortamlarda tipik bir tasar\u0131m \u015f\u00f6yle olur:<\/p>\n<ul>\n<li><strong>Birincil y\u00f6ntem:<\/strong> <strong>Saatlik XtraBackup incremental<\/strong> + gecelik tam XtraBackup.<\/li>\n<li><strong>Binary log ile PITR:<\/strong> MySQL binary log\u2019lar\u0131 ayr\u0131 disk veya dizine al\u0131n\u0131r ve s\u0131k s\u0131k uzak depoya g\u00f6nderilir.<\/li>\n<li><strong>Snapshot katman\u0131:<\/strong> Kritik g\u00fcncellemelerden \u00f6nce disk snapshot al\u0131n\u0131r; bu sayede &#8220;1 ad\u0131m geri&#8221; d\u00f6nmek saniyeler al\u0131r.<\/li>\n<li><strong>Offsite ve fidye yaz\u0131l\u0131m korumas\u0131:<\/strong> XtraBackup \u00e7\u0131kt\u0131lar\u0131n\u0131 S3 uyumlu depoya g\u00f6nderip, Object Lock veya benzeri \u00f6zelliklerle silinemez\/sabit yedekler tutulur.<\/li>\n<\/ul>\n<p>Bu t\u00fcr yap\u0131larda, yedekleme plan\u0131 tek ba\u015f\u0131na yeterli de\u011fildir; <a href=\"https:\/\/www.dchost.com\/blog\/felaket-kurtarma-plani-nasil-yazilir-rto-rpoyu-kafada-netlestirip-yedek-testleri-ve-runbooklari-gercekten-calisir-hale-getirmek\/\">felaket kurtarma plan\u0131n\u0131n<\/a> da yaz\u0131l\u0131 ve test edilmi\u015f olmas\u0131 gerekir. Aksi h\u00e2lde &#8220;Yede\u011fimiz var ama nas\u0131l d\u00f6nece\u011fiz?&#8221; sorusu en kritik anda kar\u015f\u0131n\u0131za \u00e7\u0131kar.<\/p>\n<h2><span id=\"Gercekci_Bir_Ornek_DCHost_Uzerinde_WooCommerce_MySQL_Yedekleme_Tasarimi\">Ger\u00e7ek\u00e7i Bir \u00d6rnek: DCHost \u00dczerinde WooCommerce MySQL Yedekleme Tasar\u0131m\u0131<\/span><\/h2>\n<p>Somut bir mimari \u00fczerinden gidelim. Diyelim ki DCHost \u00fczerinde NVMe diskli bir VPS\u2019iniz var, \u00fczerinde WooCommerce \u00e7al\u0131\u015f\u0131yor ve veritaban\u0131 40 GB. G\u00fcnl\u00fck sipari\u015f say\u0131n\u0131z y\u00fczlerle, zaman zaman binlerle ifade ediliyor.<\/p>\n<p>Bu senaryo i\u00e7in pratik bir MySQL yedekleme stratejisi \u015f\u00f6yle olabilir:<\/p>\n<ul>\n<li><strong>Gecelik 03:00 tam XtraBackup:<\/strong> \/backups\/mysql-full dizinine al\u0131n\u0131yor, s\u0131k\u0131\u015ft\u0131r\u0131l\u0131yor.<\/li>\n<li><strong>Her saat incremental XtraBackup:<\/strong> Son tam yede\u011fe g\u00f6re sadece de\u011fi\u015fen bloklar tutuluyor.<\/li>\n<li><strong>Her 10 dakikada bir binary log senkronizasyonu:<\/strong> Binary log\u2019lar ayr\u0131 bir klas\u00f6re d\u00f6n\u00fcyor ve oradan S3 uyumlu uzak depoya kopyalan\u0131yor.<\/li>\n<li><strong>Her 4 saatte bir LVM snapshot:<\/strong> MySQL data volume\u2019\u00fc i\u00e7in k\u0131sa s\u00fcreli uygulama-tutarl\u0131 snapshot al\u0131n\u0131yor (fsfreeze + LVM snapshot).<\/li>\n<li><strong>Offsite kopya:<\/strong> Gece al\u0131nan tam XtraBackup\u2019lar 30 g\u00fcn, incremental\u2019lar 7 g\u00fcn, binary log\u2019lar 7\u201314 g\u00fcn S3 \u00fczerinde saklan\u0131yor.<\/li>\n<\/ul>\n<p>B\u00f6yle bir kurgu ile:<\/p>\n<ul>\n<li>&#8220;10 dakika \u00f6nceki duruma d\u00f6n&#8221; iste\u011fini PITR ile kar\u015f\u0131layabilirsiniz.<\/li>\n<li>&#8220;Bu sabahki \u015femay\u0131 test etmek istiyorum&#8221; dedi\u011finizde, snapshot\u2019tan h\u0131zl\u0131 bir test ortam\u0131 aya\u011fa kald\u0131rabilirsiniz.<\/li>\n<li>&#8220;Ge\u00e7en hafta Per\u015fembe g\u00fcnk\u00fc veri setine d\u00f6n&#8221; iste\u011fini, ilgili tam XtraBackup + incremental + binary log kombinasyonu ile \u00e7\u00f6zebilirsiniz.<\/li>\n<\/ul>\n<p>T\u00fcm bunlar\u0131n \u00e7al\u0131\u015ft\u0131\u011f\u0131ndan emin olman\u0131n tek yolu, d\u00fczenli <strong>geri d\u00f6n\u00fc\u015f testleri<\/strong> yapmakt\u0131r. Yani sadece yedek almak de\u011fil, yedekten ger\u00e7ekten aya\u011fa kalkabildi\u011finizi periyodik olarak do\u011frulamak gerekiyor.<\/p>\n<h2><span id=\"mysqldump_XtraBackup_ve_Snapshot_Arasinda_Secim_Icin_Kontrol_Listesi\">mysqldump, XtraBackup ve Snapshot Aras\u0131nda Se\u00e7im \u0130\u00e7in Kontrol Listesi<\/span><\/h2>\n<p>Son olarak elinizde pratik bir karar arac\u0131 kals\u0131n istiyorum. A\u015fa\u011f\u0131daki sorular\u0131 yan\u0131tlayarak hangi y\u00f6ntemin \u00f6ncelikli olmas\u0131 gerekti\u011fini netle\u015ftirebilirsiniz.<\/p>\n<h3><span id=\"Soru_1_Sunucuya_Root_Erisiminiz_Var_mi\">Soru 1: Sunucuya Root Eri\u015fiminiz Var m\u0131?<\/span><\/h3>\n<ul>\n<li><strong>Hay\u0131r, payla\u015f\u0131ml\u0131 hosting kullan\u0131yorum:<\/strong> Panel yedekleri + mysqldump. Snapshot ve XtraBackup genelde m\u00fcmk\u00fcn de\u011fil.<\/li>\n<li><strong>Evet, VPS\/dedicated y\u00f6netiyorum:<\/strong> XtraBackup ve snapshot se\u00e7enekleri masaya gelir.<\/li>\n<\/ul>\n<h3><span id=\"Soru_2_Veritabani_Boyutunuz_Ne_Kadar\">Soru 2: Veritaban\u0131 Boyutunuz Ne Kadar?<\/span><\/h3>\n<ul>\n<li><strong>&lt; 5 GB:<\/strong> mysqldump + panel yedekleri \u00e7o\u011fu senaryoda yeterli.<\/li>\n<li><strong>5\u201350 GB:<\/strong> mysqldump restore s\u00fcresi uzamaya ba\u015flar; XtraBackup mant\u0131kl\u0131 hale gelir.<\/li>\n<li><strong>&gt; 50 GB:<\/strong> Mant\u0131ksal yedekleri sadece ek g\u00fcvenlik veya belirli tablolar i\u00e7in kullan\u0131n; ana y\u00f6ntem fiziksel yedek + snapshot olsun.<\/li>\n<\/ul>\n<h3><span id=\"Soru_3_Kabul_Edebilir_Veri_Kaybi_RPO_Ne\">Soru 3: Kabul Edebilir Veri Kayb\u0131 (RPO) Ne?<\/span><\/h3>\n<ul>\n<li><strong>24 saat ve \u00fczeri:<\/strong> G\u00fcnl\u00fck tam mysqldump veya XtraBackup yeterli.<\/li>\n<li><strong>1\u20134 saat:<\/strong> G\u00fcnl\u00fck tam yede\u011fe ek olarak saatlik incremental (XtraBackup) \u00f6nerilir.<\/li>\n<li><strong>dakikalar mertebesi:<\/strong> Binary log ar\u015fivleme + s\u0131k incremental + snapshot kombinasyonu ka\u00e7\u0131n\u0131lmaz.<\/li>\n<\/ul>\n<h3><span id=\"Soru_4_Kabul_Edebilir_Kesinti_Suresi_RTO_Ne\">Soru 4: Kabul Edebilir Kesinti S\u00fcresi (RTO) Ne?<\/span><\/h3>\n<ul>\n<li><strong>Birka\u00e7 saat:<\/strong> mysqldump restore\u2019lar\u0131 tolere edilebilir.<\/li>\n<li><strong>30\u201360 dakika:<\/strong> XtraBackup restore + haz\u0131r bekleyen test ortamlar\u0131 gerekir.<\/li>\n<li><strong>Dakikalar:<\/strong> Snapshot\u2019tan h\u0131zl\u0131 d\u00f6n\u00fc\u015f + replikasyon veya yedek sunucu gibi ekstra mekanizmalar devreye girer.<\/li>\n<\/ul>\n<h2><span id=\"Sonuc_MySQL_Yedekleme_Arac_Seciminden_Fazlasi\">Sonu\u00e7: MySQL Yedekleme, Ara\u00e7 Se\u00e7iminden Fazlas\u0131<\/span><\/h2>\n<p>mysqldump, Percona XtraBackup ve snapshot\u2019lar tek ba\u015f\u0131na &#8220;yedekleme stratejisi&#8221; de\u011fildir; sadece stratejinin par\u00e7alar\u0131d\u0131r. Ger\u00e7ek d\u00fcnyada ba\u015far\u0131l\u0131 olan projelerin ortak noktas\u0131, bu ara\u00e7lar\u0131 <strong>RPO\/RTO hedefleriyle, 3-2-1 prensibiyle ve felaket kurtarma planlar\u0131yla birlikte d\u00fc\u015f\u00fcnmeleri<\/strong>dir. Bir di\u011fer ortak nokta da \u015fudur: Hepsi d\u00fczenli olarak <strong>yedekten geri d\u00f6n\u00fc\u015f testi<\/strong> yapar, teoriyi pratikle do\u011frular.<\/p>\n<p>DCHost olarak g\u00fcnl\u00fck operasyonlarda \u015funu \u00e7ok net g\u00f6r\u00fcyoruz: K\u00fc\u00e7\u00fck bir blog i\u00e7in bile basit bir mysqldump + panel yede\u011fi, kritik bir WooCommerce i\u00e7in ise XtraBackup + snapshot + offsite S3 kombinasyonu hayat kurtar\u0131yor. Altyap\u0131n\u0131z payla\u015f\u0131ml\u0131 hosting, VPS, dedicated veya colocation olsun; MySQL veritaban\u0131n\u0131z i\u00e7in size \u00f6zel bir yedekleme topolojisi kurmak m\u00fcmk\u00fcn.<\/p>\n<p>E\u011fer &#8220;Bizim senaryoda hangisi birincil y\u00f6ntem olmal\u0131, hangisi yedek kals\u0131n?&#8221; diye d\u00fc\u015f\u00fcn\u00fcyorsan\u0131z, RPO\/RTO hedeflerinizi kabaca netle\u015ftirip ekibimizle payla\u015f\u0131n; birlikte sizin i\u00e7in uygun mysqldump \/ XtraBackup \/ snapshot kombinasyonunu ve saklama s\u00fcrelerini \u00e7\u0131karal\u0131m. DCHost \u00fczerinde yeni bir VPS veya dedicated sunucu planl\u0131yorsan\u0131z, kurulum a\u015famas\u0131nda MySQL yedekleme mimarisini de ba\u015ftan do\u011fru kurgulamak, sonradan telafi etmekten \u00e7ok daha kolay ve g\u00fcvenli olacakt\u0131r.<\/p>\n<\/div>","protected":false},"excerpt":{"rendered":"<p>\u0130&ccedil;indekiler1 MySQL Veritaban\u0131 Yedekleme Stratejilerine Do\u011fru Yerden Bakmak2 Web Hosting\u2019de MySQL Yedekleme Yakla\u015f\u0131mlar\u0131: Mant\u0131ksal, Fiziksel ve Snapshot3 mysqldump: Payla\u015f\u0131ml\u0131 Hosting ve K\u00fc\u00e7\u00fck Veritabanlar\u0131 \u0130\u00e7in Klasik \u00c7\u00f6z\u00fcm3.1 mysqldump\u2019\u0131n Art\u0131lar\u01313.2 mysqldump\u2019\u0131n Eksileri3.3 Payla\u015f\u0131ml\u0131 Hosting\u2019de mysqldump Nas\u0131l Kullan\u0131l\u0131r?3.4 mysqldump Ne Zaman Yeterli?4 Percona XtraBackup: B\u00fcy\u00fck MySQL Y\u00fckleri \u0130\u00e7in Fiziksel Yedek4.1 Percona XtraBackup\u2019\u0131n G\u00fc\u00e7l\u00fc Yanlar\u01314.2 Percona XtraBackup\u2019\u0131n Zay\u0131f Noktalar\u01314.3 [&hellip;]<\/p>\n","protected":false},"author":1,"featured_media":3195,"comment_status":"","ping_status":"","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[26],"tags":[],"class_list":["post-3194","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-teknoloji"],"_links":{"self":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3194","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\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/comments?post=3194"}],"version-history":[{"count":0,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/posts\/3194\/revisions"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media\/3195"}],"wp:attachment":[{"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/media?parent=3194"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/categories?post=3194"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/www.dchost.com\/blog\/wp-json\/wp\/v2\/tags?post=3194"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}