phpMyAdmin ile MySQL veritabanı geri yükleme

phpMyAdmin ile MySQL veritabanınızı nasıl yedekleyeceğinizi görmüştük daha önce. Şimdi ise, mevcut bir yedeğinizi nasıl geri yükleyeceğinizi göreceğiz.

MySQL veritabanı karakter seti

Daha önce yedeklediğiniz veritabanı karakter seti içersin ya da içermesin, geri yükleme yapacağınız MySQL sunucusu karakter setlerini kullanıyorsa bu tanımlamayı yapmanız gerekiyor. En önemlisi ise doğru yapmanız gerekiyor 🙂 Aksi halde geri getirilemeyecek veri kayıplarıyla uğraşabilirsiniz.

Önceki uygulamamızda veritabanını tamamen yedeklemiştik. Yedekleme işlemini veritabanı seçerek yaptığımız için, SQL dosyamız içerisinde bir de veritabanı yaratma komutu yer alır. Şöyle ki;

[SQL]CREATE DATABASE `dmry` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `dmry`;[/SQL]

Bu satırı, yedeklediğiniz SQL dosyasını not defteri ile açarak görebilirsiniz. Tabi dmry yerine yedekleme yaptığınız veritabanının adı geçecektir.

Hosting firmalarının sistemleri phpMyAdmin üzerinden yeni bir veritabanı yaratmaya izin vermeyebilir. Bu durumu bizzat kendiniz test ederek ya da hosting yetkilisinden öğrenebilirsiniz. Eğer belirttiğim gibi bir durum varsa, üsttekine benzer satırı SQL dosyanız içerisinden silmeniz gerekmektedir.

Lafı fazla uzattık. Gelelim karakter seti olayına. Verilerinizi aktarmak isteyeceğiniz yeni bir veritabanı oluşturduğunuzu ve bunun karakter seti desteği sağladığını düşünelim. Önümüzde 2 koşul var değerlendirmemiz gereken;

  1. Yedek aldığınız veritabanının bulunduğu sunucu da karakter seti destekliyorsa
  2. Yedek aldığınız veritabanının bulunduğu sunucu karakter seti desteklemiyorsa

Bu iki koşul için yapmanız gerekenleri görelim. Ancak anlatım içerisinde geçen terimler, phpMyAdmin sürümlerine bağlı olarak farklılık gösterebilir.

Yedek aldığınız veritabanının bulunduğu sunucu da karakter seti destekliyorsa

Eğer önceki veritabanınızda karakter setlerini kullanıyorsa, yeni yarattığınız veritabanı da aynı karakter setine sahip olmalıdır. Yedekleme yaptığınız SQL dosyasından, önceki veritabanının karakter setini görebilirsiniz. Az önce yukarıda verdiğim (tabi silmeden önce) satırlara tekrar göz atalım.

[SQL]CREATE DATABASE `dmry` DEFAULT CHARACTER SET utf8 COLLATE utf8_general_ci;
USE `dmry`;[/SQL]

Veritabanının karakter seti utf8_general_ci olarak tanımlanmış. Öyleyse yeni veritabanımızda bu karakter setini kullanmalıdır. Aksi halde geri yükleme sonrasında Türkçe karakterler ile problem yaşama olasılığınız yüksek.

Yedek aldığınız veritabanının bulunduğu sunucu karakter seti desteklemiyorsa

İşte geldik asıl önemli noktaya. Eğer önceki veritabanı sunucusu karakter setlerini desteklemiyorsa hangi karakter setini seçmeniz gerekiyor? Eğer web siteniz windows-1254 ya da iso-8859-9 karakter seti ile yayın yapıyorsa, veritabanı karakter seti olarak latin5_turkish_ci seçmelisiniz. Ama yok UTF8 ile yayın yapıyorsanız utf8_general_ci setini tercih etmelisiniz.

Oluşturulan veritabanına tercih edilen karakter setini uygulayalım

Tercih edeceğimiz karakter setini bulduk. Şimdi bunu yeni oluşturduğumuz veritabanına uygulamamız gerekiyor. Bunun için şu adımları izleyeceğiz.

  1. Oluşturduğumuz olduğunuz veritabanını listeden seçin.
  2. Görüntülenecek pencerenin üst kısmındaki navigasyon bağlantıları arasından İşlemler olana tıklayın.
  3. Sayfanın alt alanında Karşılaştırma: adındaki seçme kutusundan az önce belirlediğimiz karakter kodunu seçiyoruz ve Git düğmesine basarak bunu veritabanına uyguluyoruz.
    phpMyAdmin ile MySQL veritabanını geri yükleme

Yedek SQL dosyanızı geri yükleyin

Karakter seti olayını hallettik. Gelelim şimdi yedeklediğimiz dosyayı geri yüklemeye. Bu kısım inanın çok basit 🙂 Önemli olan karakter seti bölümüydü. İşte adımlar;

  1. Oluşturduğumuz olduğunuz veritabanını listeden seçin. (zaten seçmiştik)
  2. Görüntülenecek pencerenin üst kısmındaki navigasyon bağlantıları arasından İçe Aktar olana tıklayın.
  3. Aktarmak istediğimizi SQL dosyamızı Gözat düğmesine basarak bilgisayarımızdaki konumundan seçiyoruz. Bu dosya illa SQL formatlı olması gerekmiyordu bildiğiniz üzere. Eğer sıkıştırılmış formatta yedekleme yaptıysanız, onu da seçebilirsiniz.
  4. Dosyanın karakter grubunu seçmek yine önceki anlatımdaki mantıkta. Eğer önceki veritabanınızın karakter seti hangi kod ile başlıyorsa, buradan onu seçebilirsiniz. Eğer karakter seti kullanımı yoksa latin5 seçebilir ya da boş olarak seçebilirsiniz.
  5. Aktarma işlemini başlatmak için Git düğmesine basmanız işlemi uygulamaya yetiyor 🙂

Geri yükleme yapabileceğiniz dosyanın boyutu, hosting sunucusunun izin verdiği yükleme boyutunu geçemez. Eğer dosyanızın boyutu bu sınırı aşıyorsa biraz bekleyin. Yakında bu konu ile ilgili de bir şeyler ekleyeceğim 😉

Yeni oluşturduğunuz veritabanı karakter seti kullanıyorsa, bu karakter setinin PHP, ASP v.b. ile hazırlamış olduğunuz web uygulamalarında, veritabanı ile bağlantı kurduktan sonra tanımlamanız gerekiyor. Aksi halde karakter problemleri yaşayabilirsiniz. Bu konu ile ilgili MySQL Türkçe Karakter Problemi başlıklı yazımı okuyabilirsiniz.