narbulut

MySQL Veritabanı Nasıl Yedeklenir?

14 May, 2026

Veritabanı, çoğu işletmenin en değerli dijital varlığıdır. Bir donanım arızası, hatalı bir DROP TABLE komutu, fidye yazılımı saldırısı ya da basit bir insan hatası — hepsi saniyeler içinde yılların verisini silip atabilir. İşte bu yüzden düzenli ve doğru yapılandırılmış bir yedekleme stratejisi, tercih değil zorunluluktur.

Bu rehberde MySQL veritabanınızı yedeklemenin tüm yaygın yöntemlerini, hem komut satırı hem de grafik arayüz (GUI) araçlarıyla adım adım ele alacağız. Yazının sonunda kendi ihtiyacınıza en uygun yöntemi seçebilecek ve yedekleme sürecinizi otomatikleştirebilecek bilgiye sahip olacaksınız.

Yedekleme Neden Kritik?

Çoğu veri kaybı beklenmedik bir anda gerçekleşir. Aşağıdaki senaryoların her biri, gerçek işletmelerin başına gelmiş durumlardır:

  • Disk arızası sonucu fiziksel veri kaybı
  • Yanlışlıkla silinen tablo veya kayıtlar
  • Fidye yazılımı ile şifrelenen veriler
  • Başarısız bir uygulama güncellemesinin veriyi bozması
  • Sunucu taşıma sırasında oluşan tutarsızlıklar

Bir yedekleme stratejisi yalnızca “yedek almak” değildir; doğru yöntemi, doğru sıklığı ve test edilmiş bir geri yükleme planını kapsar. Çünkü hiç denenmemiş bir yedek, var olmayan bir yedektir.

Yedeklemeye Başlamadan Önce: Bilmeniz Gereken 3 Temel Kavram

Yöntemlere geçmeden önce, doğru bir yedekleme stratejisini şekillendiren üç temel kavramı kısaca tanıyalım.

RPO ve RTO

RPO (Recovery Point Objective), kabul edilebilir maksimum veri kaybınızı tarif eder: “En fazla kaç saatlik veriyi kaybetmeyi göze alabilirim?” RTO (Recovery Time Objective) ise “Bir felaket anında sistemi ne kadar sürede ayağa kaldırmam gerekiyor?” sorusunun cevabıdır. Yedekleme sıklığınızı ve yönteminizi bu iki hedef belirler.

3-2-1 Kuralı

Sağlam bir yedekleme stratejisinin altın kuralı şudur: Verinizin 3 kopyası olsun, bunları 2 farklı ortamda saklayın ve en az 1 kopyayı tesis dışında (örneğin bulutta) tutun. Tek bir yedek, yedek sayılmaz.

Yedek test edilmeden yedek değildir

Hiç geri yüklenmemiş bir yedek, çalıştığından emin olamadığınız bir umuttan ibarettir. Bu yüzden bu rehberde geri yükleme (restore) adımlarını da göstereceğiz.

Mantıksal ve Fiziksel Yedekleme Arasındaki Fark

MySQL’de yedekleme yöntemleri iki ana kategoriye ayrılır. Doğru aracı seçebilmek için aralarındaki farkı anlamak önemlidir.

Mantıksal Yedekleme (Logical Backup)

Veritabanındaki yapı ve veri, CREATE TABLE ve INSERT gibi SQL komutları biçiminde bir metin dosyasına aktarılır. Donanımdan bağımsızdır, farklı MySQL sürümleri arasında taşınabilir ve okunabilir. mysqldump, MySQL Workbench ve phpMyAdmin bu kategoridedir. Dezavantajı, büyük veritabanlarında yavaş olmasıdır.

Fiziksel Yedekleme (Physical Backup)

Veritabanının disk üzerindeki ham dosyaları (.ibd, redo log vb.) doğrudan kopyalanır. Çok daha hızlıdır ve yüzlerce GB’lık veritabanları için idealdir. Percona XtraBackup bu kategoridedir.

ÖzellikMantıksalFiziksel
ÇıktıSQL metin dosyasıHam veri dosyaları
HızYavaşHızlı
TaşınabilirlikYüksekDüşük (sürüm bağımlı)
Uygun veri boyutuKüçük–ortaBüyük (100 GB+)
Sürüm taşımasıKolaySınırlı

Yöntem 1: mysqldump ile Komut Satırından Yedekleme

mysqldump, MySQL ile birlikte gelen ve en yaygın kullanılan mantıksal yedekleme aracıdır. Ek bir kurulum gerektirmez. Windows’ta MySQL kuruluysa mysqldump.exe, MySQL’in bin klasöründe yer alır (örneğin C:\Program Files\MySQL\MySQL Server 8.4\bin).

Temel kullanım

Komut İstemi’ni (CMD) veya PowerShell’i açın ve tek bir veritabanını yedeklemek için aşağıdaki komutu çalıştırın:

mysqldump -u root -p --single-transaction narbulut_test > C:\Yedekler\yedek.sql
mysqldump komutu CMD
CMD’de mysqldump komutunun çalıştırılması

Komut çalıştığında parola sorulur; girdikten sonra yedek.sql dosyası belirttiğiniz klasörde oluşur. Buradaki --single-transaction parametresi, InnoDB tabloları için veritabanını salt-okunur yapmadan tutarlı bir yedek almanızı sağlar ve canlı sistemlerde kritiktir.

Oluşan dosyayı bir metin editöründe açtığınızda, mantıksal yedeğin aslında bir dizi SQL komutundan ibaret olduğunu net biçimde görürsünüz:

yedek.sql dosya içeriği
Oluşan yedek.sql dosyası bir dizi SQL komutundan oluşur

Sık kullanılan parametreler

Tüm veritabanlarını tek seferde yedeklemek için:

mysqldump -u root -p --all-databases > C:\Yedekler	um_db.sql

Yalnızca yapıyı (veri olmadan) yedeklemek için:

mysqldump -u root -p --no-data narbulut_test > sema.sql
İPUCU: Büyük veritabanlarında yedek dosyasını sıkıştırmak diskten ciddi tasarruf sağlar. Windows’ta yedeği aldıktan sonra 7-Zip gibi bir araçla arşivleyebilirsiniz.

mysqldump yedeğini geri yükleme

Komut satırından geri yükleme oldukça basittir:

mysql -u root -p narbulut_test < C:\Yedekler\yedek.sql
mysql restore komutu CMD
CMD’de mysql ile geri yükleme komutu

Geri yüklemeden önce hedef veritabanının var olduğundan emin olun. Gerekirse önce CREATE DATABASE narbulut_test; ile oluşturun.

ÖNEMLİ: Yedeğinizi düzenli olarak test ortamında geri yükleyerek deneyin. Gerçek bir felaket anında ilk kez geri yükleme denemek, en kötü senaryodur. Test edilmemiş yedek, güvenilmez yedektir.

Yöntem 2: MySQL Workbench ile Yedekleme

Komut satırıyla çalışmak istemeyenler için MySQL Workbench, resmî ve ücretsiz grafik arayüzdür. Yedekleme işlemini birkaç tıklamayla yapmanızı sağlar.

MySQL Workbench ana ekranı
MySQL Workbench ana ekranı

Adım adım yedekleme

Workbench’i açın ve veritabanı bağlantınıza tıklayarak giriş yapın. Sol menüde Administration sekmesine geçin ve Data Export seçeneğine tıklayın. Açılan ekranda yedeklemek istediğiniz veritabanlarını ve tabloları işaretleyin.

Workbench Data Export seçim
Data Export ekranında veritabanı ve tablo seçimi

Ardından Export Options bölümünde yedeğin nasıl kaydedileceğini seçin. Export to Self-Contained File seçeneği, tüm veritabanını tek bir .sql dosyasında toplar ve taşıma için en pratik yöntemdir. Tutarlı bir yedek için Include Create Schema seçeneğini de işaretlemeniz önerilir.

Workbench export seçenekleri
Export Options: Self-Contained File ve dump seçenekleri

Start Export düğmesine tıklayın ve işlemin tamamlanmasını bekleyin. İşlem bittiğinde alt panelde tamamlanma mesajını görürsünüz.

Workbench export tamamlandı
Workbench export işlemi tamamlandı

Workbench ile geri yükleme

Geri yükleme için Data Import/Restore ekranını kullanırsınız. Import from Self-Contained File seçeneğiyle daha önce aldığınız .sql dosyasını gösterir, hedef şemayı (Default Target Schema) seçer ve Start Import dersiniz.

Workbench Data Import Restore
Data Import/Restore ekranı

İşlem tamamlandığında yedeğiniz geri yüklenmiş olur.

Workbench import tamamlandı
Workbench import işlemi tamamlandı

Yöntem 3: phpMyAdmin ile Yedekleme

Paylaşımlı hosting kullanan veya web tabanlı bir arayüz tercih edenler için phpMyAdmin en pratik çözümdür. Çoğu hosting paketinde hazır gelir.

Dışa aktarma (Export)

phpMyAdmin’e giriş yapın ve sol menüden yedeklemek istediğiniz veritabanını seçin. Üst menüden Export sekmesine tıklayın. Quick yöntemi çoğu durum için yeterlidir; format olarak SQL seçili olmalıdır. Daha fazla kontrol isterseniz Custom seçeneğini kullanabilirsiniz.

phpMyAdmin Export
phpMyAdmin Export sekmesi

Go düğmesine tıkladığınızda .sql dosyası bilgisayarınıza iner.

İçe aktarma (Import)

Geri yüklemek istediğiniz veritabanını seçin (veya boş bir veritabanı oluşturun), Import sekmesine geçin, Choose File ile .sql dosyanızı seçin ve Go deyin.

phpMyAdmin Import
phpMyAdmin Import sekmesi
UYARI: phpMyAdmin’in varsayılan dosya boyutu yükleme sınırı vardır (genellikle birkaç yüz MB). Büyük veritabanları için mysqldump veya Workbench daha güvenilirdir.

Yöntem 4: Percona XtraBackup ile Sıcak (Hot) Yedekleme

Yüzlerce GB veya TB boyutundaki canlı production veritabanları için mantıksal yöntemler yavaş kalır. İşte burada Percona XtraBackup devreye girer.

XtraBackup, açık kaynaklı bir sıcak (hot) yedekleme aracıdır; yani veritabanını durdurmadan, kilitlemeden InnoDB veri dosyalarının fiziksel kopyasını alır. Veritabanı sorgulara cevap vermeye devam ederken arka planda diskten sayfaları kopyalar ve InnoDB’nin çökme kurtarma (crash recovery) mekanizmasıyla tutarlı bir yedek üretir.

Başlıca avantajları:

  • Sıfır kesinti (zero downtime) ile yedekleme
  • Büyük veritabanlarında mysqldump’a kıyasla çok daha hızlı geri yükleme
  • Artımlı (incremental) yedekleme ile Point-in-Time Recovery desteği
  • Sıkıştırma ve şifreleme özellikleri
NOT: Percona XtraBackup yalnızca Linux üzerinde çalışır. Windows sunucularda doğrudan kullanılamaz; bu senaryoda bir Linux replica üzerinden yedek alınması gerekir. MariaDB için muadili Mariabackup‘tır.

Binary Log ve Point-in-Time Recovery (PITR)

Sadece günlük tam yedek almak her zaman yeterli değildir. Diyelim ki yedeğinizi gece 02.00’de aldınız ve veri kaybı öğleden sonra 15.00’te yaşandı. Aradaki 13 saatlik veri ne olacak?

İşte burada Binary Log (binlog) devreye girer. Binary log, veritabanında yapılan tüm değişiklikleri (her INSERT, UPDATE, DELETE) sırayla kaydeder. Tam yedeğinizi binlog ile birleştirerek belirli bir ana kadar (point-in-time) geri dönebilirsiniz. Bu nedenle ciddi bir yedekleme stratejisinde tam yedek ile binary log kopyaları birlikte tutulur. XtraBackup gibi araçların en güçlü yanlarından biri de bu PITR yeteneğidir.

Yedekleri Otomatikleştirme: Windows Task Scheduler

Manuel yedekleme unutulmaya mahkûmdur. Güvenilir bir strateji otomatik olmalıdır. Windows’ta bunu Task Scheduler (Görev Zamanlayıcı) ile yaparız.

1. Yedekleme batch dosyası oluşturma

Önce yedeği alan bir .bat dosyası hazırlayın. Örneğin C:\Yedekler\yedek_al.bat:

@echo off
set TARIH=%date:~-4%-%date:~3,2%-%date:~0,2%
"C:\Program Files\MySQL\MySQL Server 8.4\bin\mysqldump.exe" -u root -pSIFRE --single-transaction narbulut_test > C:\Yedekler\yedek_%TARIH%.sql

Bu betik çalıştığında dosya adına tarih ekleyerek (yedek_2026-06-04.sql) yedek üretir.

2. Görev Zamanlayıcı’da görev oluşturma

Başlat menüsünde Task Scheduler (Görev Zamanlayıcı) yazıp açın. Sağdaki panelden Create Basic Task (Temel Görev Oluştur) seçin ve göreve bir ad verin.

Task Scheduler temel görev oluştur
Task Scheduler — Create Basic Task (görev adı)

Trigger (Tetikleyici) adımında yedeğin ne sıklıkta çalışacağını seçin (örneğin her gün 02.00).

Task Scheduler trigger
Task Scheduler — Trigger / zamanlama adımı

Action (Eylem) adımında Start a program seçin ve oluşturduğunuz .bat dosyasını gösterin.

Task Scheduler action bat
Task Scheduler — Action / .bat dosyası seçimi

Sihirbazı tamamlayın. Artık yedeğiniz her gün otomatik alınacaktır. Birkaç gün sonra yedek klasörünüzde tarihli dosyaların biriktiğini görürsünüz:

Tarihli yedek dosyaları
C:\Yedekler klasöründe biriken tarihli yedek dosyaları
İPUCU: Yedekleri yalnızca aynı sunucuda tutmak risklidir. Sunucu komple çökerse yedekler de gider. Yedeklerinizi mutlaka farklı bir lokasyona veya buluta kopyalayın.

En İyi Uygulamalar

Sağlam bir MySQL yedekleme stratejisi için şu ilkelere uyun: en az 3 kopya, 2 farklı ortam ve 1 kopya farklı lokasyonda olacak şekilde 3-2-1 kuralını uygulayın. Veri değişim sıklığınıza göre düzenli bir takvim belirleyin ve büyük yedekleri gece gibi düşük yoğunluklu saatlerde alın. InnoDB tablolarında tutarlılık için --single-transaction kullanın, point-in-time recovery için binary log’u aktif tutun ve en önemlisi, geri yükleme sürecini düzenli olarak test edin. Yerel yedekler tek başına yeterli değildir; mutlaka bir off-site veya bulut kopyası bulundurun.

Verilerinizi Bulutta Güvende Tutun

Yedekleme stratejinizin en kritik halkası, yedeklerin fiziksel sunucudan bağımsız ve güvenli bir lokasyonda saklanmasıdır. Yerel diske alınan bir yedek; yangın, hırsızlık, donanım arızası veya fidye yazılımı durumunda ana veriyle birlikte kaybolabilir.

Narbulut Bulut Yedekleme çözümleri, MySQL veritabanlarınız ve tüm kritik verileriniz için otomatik, şifreli ve KVKK uyumlu bir off-site yedekleme katmanı sunar. Verileriniz Türkiye’deki veri merkezlerinde, yasal mevzuata tam uyumlu biçimde saklanır; böylece “yedeğim var ama nerede ve güvenli mi?” sorusunu tamamen ortadan kaldırırsınız.

MySQL Yedekleme Süreçlerinizi Profesyonel Düzeye Taşıyın

Veritabanı yedekleme süreçlerinizi profesyonel ve güvenli bir altyapıya taşımak için Narbulut çözümlerini inceleyebilirsiniz.

MySQL Yedekleme Çözümünü İnceleyin

Yorum Yazın

E-posta adresiniz yayınlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Narbulut Ürün Analizi

Adım 1/12
Şirketiniz için hangi alanda teknolojik bir iyileştirme planlıyorsunuz?
Veri Güvenliği ve YedeklemeFidye yazılımları, silinen dosyalar ve felaket kurtarma.
Bulut Sunucu (IaaS)Web sitesi, ERP, CRM veya uygulama barındırma.
Takım İçi İşbirliğiGüvenli dosya paylaşımı ve ofis dışı çalışma.
Nesne Depolama (S3)Yazılımcılar için Object Storage.
Hangi sektörde faaliyet gösteriyorsunuz?
Sağlık / MedikalHasta verileri (KVKK kritik).
Finans / MuhasebeHassas mali veriler.
Üretim / MühendislikCAD çizimleri ve üretim planları.
Diğer / Genel HizmetOfis dokümanları ve genel veriler.
Korunması gereken cihazların türü nedir?
Personel BilgisayarlarıLaptop ve masaüstü son kullanıcı cihazları.
Fiziksel / Sanal SunucularDatabase, Active Directory veya File Server.
Yedekleme stratejiniz nasıl olmalı?
Dosya ve Klasör BazlıSadece önemli iş dosyaları (XLS, PDF, SQL) yedeklensin.
Tam Disk İmajı (Image)İşletim sistemi dahil "Her Şey" yedeklensin.
Buluta yedekleme için Upload hızınız nasıl?
Fiber / Yüksek HızBüyük verileri hızlıca gönderebilirim.
Standart / ADSLHızım sınırlı, sıkıştırma önemli.
Fidye yazılımları (Ransomware) tehdit mi?
Evet, Çok KritikGeçmişte yaşadık veya risk altındayız.
Standart Koruma YeterliTemel yedekleme önlemleri yeterli.
Versiyonları ne kadar saklamak istersiniz?
90
30 - 90 GünYakın tarihli hataları düzeltmek için.
365+
1 Yıl ve ÜzeriYasal zorunluluklar veya arşiv.
Sunucunun birincil görevi ne olacak?
E-Ticaret / Web SitesiYüksek uptime ve hız gerekiyor.
ERP / Muhasebe ProgramıDatabase performansı önemli.
Yazılım GeliştirmeEsnek kaynak yönetimi.
Hangi altyapıya ihtiyacınız var?
Windows ServerASP.NET, MSSQL, RDP.
Linux (Ubuntu/CentOS)PHP, Python, MySQL, Docker.
Tahmini kullanıcı yoğunluğu nedir?
Düşük / OrtaBaşlangıç seviyesi veya yeni proje.
Yüksek TrafikYoğun kampanya veya çok kullanıcı.
Sunucu yönetimini kim yapacak?
Ben YöneteceğimTeknik ekibim var, root yeterli.
Destek İstiyorumManaged Services hizmeti lazım.
Ortak alanda çalışacak kişi sayısı?
1 - 10 KullanıcıKüçük ekipler.
10 - 50+ KullanıcıDepartman bazlı yetki gerekli.
Ofis dışından erişim gerekli mi?
Evet, KesinlikleSaha ekibi cepten dosya yüklemeli.
Hayır, Sadece OfisSadece şirket bilgisayarlarından erişim.
Yanıtlarınız Analiz Ediliyor...
SİZE EN UYGUN ÇÖZÜM

Ürün Başlığı

Açıklama

Ürünü Hemen İncele

Ürün Bilgi Alma Formu

Çözüm uzmanlarımızın size ulaşması için formu doldurunuz.

Size uygun Narbulut Cloud Server planlarına göz atın

Narbulut Cloud Server ile ihtiyaçlarınıza en uygun sunucuları yapılandırın.

    SUNUCU TEKLİF & YAPILANDIRMA FORMU

    1. KURUMSAL KİMLİK & İLETİŞİM
    2. TEKNİK GEREKSİNİMLER
    3. LİSANS YÖNETİMİ

    Check out Narbulut Cloud Server plans that suit you

    Configure the servers that best fit your needs with Narbulut Cloud Server.

      SERVER QUOTE & CONFIGURATION FORM

      1. CORPORATE IDENTITY & CONTACT
      2. TECHNICAL REQUIREMENTS
      3. LICENSE MANAGEMENT

      Narbulut Mobile’ı İndirin

      Uygulamayı indirmek istediğiniz platformu seçin

      Download Narbulut Mobile

      Select the platform you want to download the app

      ×