📑 İçindekiler

    Bir veritabanının silinmesi ya da bozulması, web sitesi sahibinin karşılaşabileceği en ani veri kaybıdır: dosyalarınız yerinde durur, site açılır gibi olur ama içerik yoktur. Siparişler, üyeler, yazılar — hepsi veritabanındaydı. Bu yazıda sırayla ne yapmanız gerektiğini anlatıyoruz.

    1. Yazmayı hemen durdurun

    Bu, tüm süreçteki en kritik adımdır ve en çok atlanan adımdır. Veritabanı silindiyse ya da bozulduysa, sistem çalışmaya devam ettiği sürece üzerine yeni veri yazılır ve kurtarma şansınız her dakika azalır.

    • Siteyi bakım moduna alın; yeni sipariş, üyelik ve yorum kaydı oluşmasını engelleyin.
    • Otomatik içe aktarma veya senkronizasyon görevleri varsa durdurun.
    • Panik hâlinde "onarmaya" çalışmadan önce mevcut durumun bir kopyasını alın.

    ⏱ Zamanla yarışıyorsunuz

    Silinen veri, üzerine yazılana kadar teknik olarak kurtarılabilir durumda olabilir. Site çalışmaya devam ettikçe bu ihtimal hızla düşer. Yapılacak ilk iş temizlik ya da onarım değil, durdurmaktır.

    2. Ne olduğunu doğru teşhis edin

    Yapılacak işlem, sorunun türüne göre tamamen değişir. Üç farklı durum vardır ve karıştırılmamalıdır:

    • Veritabanı/tablo silinmiş: veri gerçekten yok. Tek çözüm yedekten geri yüklemektir.
    • Tablo bozulmuş: veri duruyor ama okunamıyor. Onarım araçlarıyla kurtarılabilir.
    • Bağlantı kopmuş: veri de tablo da yerinde; sorun yapılandırma dosyasındaki kullanıcı adı, şifre veya sunucu adresindedir. Bu en iyi senaryodur ve veri kaybı yoktur.

    Site "veritabanı bağlantı hatası" veriyorsa üçüncü ihtimali mutlaka önce eleyin — sunucu taşındığında veya şifre değiştiğinde sıkça görülür ve hiçbir veri kaybı yaşanmamıştır.

    3. Bozulma varsa önce onarımı deneyin

    Tablo bozulması genelde ani sunucu kapanması, disk dolması veya donanım hatasından kaynaklanır. Veritabanı yönetim araçlarının çoğunda tablo kontrol ve onarım işlevi bulunur; barındırma panelinizdeki veritabanı yöneticisi üzerinden çalıştırabilirsiniz. Onarımdan önce mevcut dosyaların kopyasını almayı unutmayın — onarım süreci veriyi daha da bozabilir.

    4. Yedekten geri yükleyin

    Veri gerçekten silindiyse tek gerçek çözüm budur. Geri yüklerken dikkat edilecekler:

    • Doğru tarihi seçin. En yeni yedek her zaman en iyisi değildir; sorun bir süredir devam ediyorsa daha eski bir kopya gerekebilir.
    • Önce test edin. Mümkünse yedeği ayrı bir veritabanına yükleyip içeriğini kontrol edin, sonra canlıya alın.
    • Bağlantı bilgilerini güncelleyin. Farklı bir sunucuya veya veritabanı adına geri yüklüyorsanız sitenizin yapılandırma dosyası da güncellenmelidir.
    • Aradaki veriyi kurtarmayı deneyin. Yedek tarihinden sonra gelen siparişleri ödeme sağlayıcınızın kayıtlarından, üyelikleri e-posta bildirimlerinden kısmen tamamlayabilirsiniz.

    5. Sebebi bulun

    Veritabanı kendi kendine silinmez. Yaygın sebepler: yanlış veritabanı üzerinde çalıştırılan bir komut, hosting panelinden yanlış hesabın silinmesi, ele geçirilmiş bir site, bir eklentinin hatalı davranışı ya da disk kotasının dolması. Sebebi bulmazsanız tekrarlama ihtimali yüksektir.

    Veri kaybını en aza indirmek: yedekleme sıklığı

    Kurtarma sonrasında sorulması gereken asıl soru şudur: "En fazla ne kadar veri kaybetmeyi göze alabilirim?" Cevap doğrudan yedekleme sıklığınızı belirler.

    • Tanıtım sitesi: içerik nadiren değişir; haftalık ya da günlük yedek yeterlidir.
    • Blog / haber sitesi: günlük yedek makuldür; en fazla bir günlük içerik kaybedersiniz.
    • E-ticaret: günlük yedek pahalıya patlar. Saatlik yedekle kayıp penceresi bir saate iner.
    • Yoğun mağaza: saatlikten daha sık yedekleme gerekebilir.

    Dosyalar genelde nadiren değişir, veritabanı ise sürekli değişir. Bu yüzden ikisine ayrı sıklık verebilmek hem korumayı artırır hem maliyeti düşürür: dosyalar günlük, veritabanı saatlik gibi.

    🗄 Veritabanına ayrı sıklık verin

    Yedekalma'da dosya, veritabanı ve e-posta ayrı bileşenlerdir ve her birine farklı sıklık verebilirsiniz. Üstelik veritabanı tablo düzeyinde artımlı yedeklenir: yalnızca değişen tablolar dökülür, bu yüzden sık yedekleme sunucunuzu yormaz. Veritabanı yedeklemeyi inceleyin.

    Özet

    Veritabanı kaybında sıralama nettir: durdur → teşhis et → (bozulmuşsa) onar → yedekten dön → sebebi bul. Bu zincirin dördüncü halkası elinizde bir yedek yoksa kopar. Bu yüzden asıl iş, kaybı yaşamadan önce yedekleme düzenini kurmaktır.

    Sık Sorulan Sorular

    Silinen MySQL veritabanı geri getirilebilir mi?

    Veritabanı gerçekten silindiyse tek güvenilir yol yedekten geri yüklemektir. Silme işleminden sonra sistem çalışmaya devam ettiyse üzerine yeni veri yazılmış olabilir ve düşük seviyeli kurtarma şansı hızla azalır. Bu yüzden fark eder etmez siteyi bakım moduna alıp yazmayı durdurmak kritiktir.

    "Veritabanı bağlantı hatası" veri kaybı anlamına mı gelir?

    Çoğu zaman hayır. Bu hata genellikle yapılandırma dosyasındaki kullanıcı adı, şifre veya sunucu adresinin yanlış olmasından kaynaklanır ve veriler yerinde durur. Sunucu taşındığında veya veritabanı şifresi değiştiğinde sıkça görülür. Panik yapmadan önce bağlantı bilgilerini kontrol edin.

    Bozulan bir veritabanı tablosu onarılabilir mi?

    Genellikle evet. Tablo bozulması ani sunucu kapanması, disk dolması veya donanım hatasından kaynaklanır ve veritabanı yönetim araçlarındaki kontrol/onarım işleviyle düzeltilebilir. Onarım öncesinde mevcut dosyaların bir kopyasını almak şarttır; onarım süreci veriyi daha da bozabilir.

    Veritabanımı ne sıklıkla yedeklemeliyim?

    Kabul edebileceğiniz azami veri kaybına göre belirlenir. Tanıtım siteleri için haftalık veya günlük, blog ve haber siteleri için günlük, e-ticaret için saatlik, yoğun mağazalar için saatlikten daha sık yedekleme uygundur. Dosyalar nadiren değiştiği için veritabanına dosyalardan daha sık bir plan vermek hem korumayı artırır hem maliyeti düşürür.

    Yedekten dönünce aradaki siparişleri kaybeder miyim?

    Evet, yedek tarihinden sonra oluşan kayıtlar geri yüklemeyle birlikte kaybolur. Bu kaybı azaltmak için geri yüklemeden önce mevcut veritabanından kritik kayıtları dışa aktarmayı deneyin; ayrıca ödeme sağlayıcınızın kayıtları ve sipariş bildirim e-postalarınız aradaki veriyi kısmen tamamlamanızı sağlayabilir.