20 Kasım 2007, 08:12 tarihinde yazılmış olup, 981 kez okunmuş ve 7 yorum almış
Etiketler: phpMyAdmin
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.
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;
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;
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.
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.
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.
İş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.
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.
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;
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.