CPanel'de Aldığım Veritabanı Yedeklerini Geri Yüklemeye Çalıştığımda Neden Sürekli Hata Alıyorum?

1

Her ay rutin olarak cPanel üzerinden sitelerimin veritabanı yedeklerini alıyorum. Geçen hafta bir sorun yaşadım ve yedekten dönmek istedim ancak ne yaptıysam olmadı. Yedeği geri yüklemeye çalıştığımda sürekli 'SQL hatası' veya 'veritabanı bozuk' gibi anlaşılmaz hatalarla karşılaşıyorum. Günlerdir bu sorunla uğraşıyorum ve resmen bıktım usandım. Yaptığım yedeklerin de mi bir garantisi yok artık? Bu sorun neden kaynaklanıyor ve artık ne yapmalıyım?

Cevaplar (2)

2

Dostum, anladığım kadarıyla cPanel'de veritabanı yedeklerini geri yüklerken can sıkıcı hatalar alıyorsun ve bu durum oldukça yaygın. cPanel'in kendi arayüzü veya phpMyAdmin aracılığıyla büyük boyutlu ya da ufak tefek sorunlar içeren SQL yedeklerini geri yüklemeye çalışırken 'SQL hatası' veya 'veritabanı bozuk' gibi mesajlarla karşılaşmak maalesef sık görülen bir durum. Bu, genellikle PHP'nin dosya yükleme limitlerinin (Upload_max_filesize, Post_max_size) yetersiz kalmasından, işlem süresi limitlerinin (Max_execution_time) aşılmasından veya yedek dosyasının gerçekten de bir miktar hasar görmesinden kaynaklanabilir. Bu durumda yapman gereken ilk şey, yedeğini bir metin düzenleyici (örneğin Notepad++ veya Sublime Text) ile açıp dosyanın gerçekten bir SQL yedeği olup olmadığını ve sonunun aniden kesilmediğini, yani dosya bütünlüğünü kabaca kontrol etmektir. Bazen indirme sırasında veya yedek oluşturulurken dosya bozulabilir. Eğer dosya bütünlüğü iyi görünüyorsa, bu tür büyük ve hassas işlemlerde her zaman en sağlam yöntem SSH (Secure Shell) üzerinden komut satırı kullanmaktır. hosting sağlayıcın sana SSH erişimi sağlamış olmalı. Eğer SSH erişimin yoksa, bu adımı uygulayamazsın ve hosting sağlayıcından destek istemen gerekir. SSH ile bağlanıp aşağıdaki komutu kullanarak yedeğini kolayca geri yükleyebilirsin:

Mysql -u 'veritabani_kullanici_adi' -p 'veritabani_adi' < 'yedek_dosyanin_yolu.sql'

Bu komutu çalıştırdıktan sonra senden veritabanı kullanıcısının şifresini isteyecektir. Şifreyi doğru girdiğinde, yedek dosyanın boyutu ve sunucu performansına bağlı olarak birkaç dakika içinde geri yükleme tamamlanacaktır. Bu yöntem, cPanel arayüzündeki limitlere takılmadan, sunucunun doğrudan MySQL motoruyla iletişim kurarak çok daha güvenilir bir geri yükleme sağlar. Eğer SSH erişimin yoksa veya bu adımlar sana karmaşık geliyorsa, direkt olarak hosting sağlayıcınla iletişime geçmelisin. Onlar bu işlemi senin için yapabilir veya cPanel'deki PHP limitlerini geçici olarak yükselterek phpMyAdmin üzerinden geri yüklemene olanak tanıyabilirler. Unutma, bu tür sorunlar genellikle sunucu tarafındaki yapılandırmalarla ilgili olduğu için hosting desteği önemli bir kaynaktır. Aklına Takılabilir:

  • Veri silinir mi? Geri yükleme işlemi mevcut veritabanını yeni yedekle değiştirdiği için, geri yüklenecek olan yedek dosyanın eski olması durumunda, yedek alındıktan sonra eklenen veriler kaybolur. Bu yüzden her zaman en güncel ve sağlam yedeği kullanmak önemlidir.
  • Her ay aldığım yedekler neden bozuk çıkıyor? cPanel'in otomatik yedekleme sisteminde veya diskinizde bir sorun olabilir. Yedekleri aldıktan sonra ara sıra küçük bir yedek dosyasını test amaçlı geri yüklemeyi deneyerek yedeklerin sağlamlığını kontrol etmek iyi bir alışkanlıktır.
0

CPanel'de veritabanı yedeklerini geri yüklerken karşılaştığın bu 'SQL hatası' veya 'veritabanı bozuk' gibi mesajlar oldukça can sıkıcı olabilir. Bu durum genellikle birkaç farklı nedenden kaynaklanır ve neyse ki çoğu zaman çözülebilir.

Öncelikle, sorunun kaynağını bulmak için birkaç adımı kontrol edelim:

  • Geri Yükleme Yöntemi: Büyük boyutlu SQL dosyalarını PhpMyAdmin üzerinden yüklemek genellikle zaman aşımı hatalarına yol açar. En sağlıklı yöntem, cPanel'in kendi 'Yedekleme Sihirbazı' veya 'MySQL Veritabanları' bölümündeki 'Veritabanı Geri Yükle' seçeneğini kullanmaktır.
  • php Limitleri: Eğer geri yükleme denemelerini phpMyAdmin üzerinden yapıyorsan, hosting paketinin PHP Upload_max_filesize, Post_max_size ve Max_execution_time gibi değerlerinin yeterli olduğundan emin olmalısın. Bu limitleri cPanel üzerinden 'PHP Sürüm Seçici' veya 'MultiPHP INI Düzenleyici' gibi araçlarla kontrol edebilirsin.
  • Yedek Dosyasının Bütünlüğü: Yedeği bir metin editörüyle açıp ilk birkaç satırına bak. Dosya tamamen anlamsız karakterler içeriyorsa, boşsa veya yarım kalmış bir SQL yapısı varsa, yedekleme anında bozulmuş olabilir.
  • Karakter Seti ve Harmanlama (Collation): Yeni oluşturduğun veya üzerine geri yükleme yaptığın veritabanının karakter seti (örn: Utf8mb4) ve harmanlaması (örn: Utf8mb4_unicode_ci), yedek aldığın orijinal veritabanı ile aynı olmalı. Farklılıklar veri bozulmalarına veya import hatalarına yol açabilir.
  • hata Logları: cPanel arayüzünde veya sunucu Error_log dosyalarında daha detaylı bir hata mesajı olup olmadığını kontrol et. Bu loglar, sorunun kökeni hakkında sana önemli ipuçları verecektir.

Kalıcı çözüm İçin:

Bu tür sorunların tekrar etmemesi için, yedekleme stratejini gözden geçirmelisin. Sadece cPanel'in manuel yedekleme özelliğine güvenmek yerine, barındırma hizmetinin sunduğu Otomatik yedekleme çözümlerini (varsa) kullanmalı ve bunların düzenli olarak çalıştığını, en önemlisi de geri yüklenebilir olduğunu periyodik olarak kontrol etmelisin. Hatta, JetBackup gibi üçüncü taraf cPanel entegrasyonlarını değerlendirerek veya sunucu tarafında cron job ile otomatik yedekleme alıp bu yedekleri farklı bir uzak depolama alanına yönlendirerek yedekleme güvenliğini artırabilirsin. En kritik nokta ise, her yedekleme sonrası küçük bir test veritabanını geri yükleyerek yedeğin sağlamlığını doğrulamandır. Bu proaktif yaklaşım, gelecekteki olası felaketlerin önüne geçmenin en etkili yoludur.

Kullanıcılar