C#

C# MySQL Veritabanı Yedekleme

Merhabalar, C# derslerimize kaldığımız yerden devam ediyoruz. Bu dersimizde MySQL veritabanını yedeklemeyi anlatacağım. Yani ister uzak sunucuda yada isterseniz localde olsun, MySQL veritabanını .sql uzantısı olacak şekilde bi tane metin belgesine yedekleyeceğiz. Bu yedekleme dosyasında veritabanımızın tüm tablo ve sütunları ve ayrıca tablolardaki tüm veriyi ekleme ve oluşturma komutları yer alacak. Hadi başlayalım !

Öncelikle Visual Studio aracılığıyla bir tane proje oluşturalım ve veritabanına bağlanmak için kullanılan MySql.Data ve yedekleme için kullanılan MySqlBackup.NET kütüphanelerini indirip projemize dahil edelim. Bunun için Nuget paket yöneticisini açıp önce

install-package mysql.data

ve sonra da

install-package mysqlbackup.net

komutlarını girelim. Bu iki komut sayesinde Nuget, az önce bahsettiğimiz iki kütüphaneyi indirip projemize dahil edecek ve kullanılabilir hâle getirecektir. Kütüphaneleri kurduğumuza göre artık kod yazmaya başlayabiliriz. Hemen form sayfamızı açıp sayfanın en başına

using MySql.Data.MySqlClient;

kod satırını yazarak, kurmuş olduğumuz kütüphaneleri sayfamızda çağıralım ve kullanılabilir hâle getirelim. İşin içinde MySQL veritabanı olduğu için tabiki öncelikle veritabanına bağlanmamız gerekiyor. Sonrasında veritabanına komut gönderecek ve yedekleme yapacağımızı bildireceğiz. Son olarakta yedekleme yerimizi belirtecek ve dosyanın oraya yedeklenmesini bekleyeceğiz. E bu kadar teorik anlatım yaptık, hadi şimdi deneme adlı veritabanını masaüstünde deneme.sql adında bi dosyaya yedeklemeyi kod ile yapalım;

using (MySqlConnection conn = new MySqlConnection("server=localhost; uid=root;pwd=;database=deneme;"))
{
	using (MySqlCommand command = new MySqlCommand())
	{
		using (MySqlBackup backup = new MySqlBackup(command))
		{
			command.Connection = conn;
			conn.Open();
			backup.ExportToFile("c:/users/kullanici/desktop/deneme.sql");
			conn.Close();
		}
	}
}

Yazdığımız kodları açıklayacak olursak, öncelikle MySqlConnection sınıfını kullanarak veritabanına bağlantı sağladık. Sınıfın constructor yani yapıcı metodunda server ile veritabanı sunucu adresini, uid ile veritabanı kullanıcı adını, pwd ile veritabanı şifresini ve database ile de veritabanı adını belirttik. Ardından MySqlCommand sınfı ile yeni bir komut oluşturup bu komut ile asıl yedekleme işlemini yapan MySqlBackup sınıfını oluşturduk. Bu sayede MySqlBackup ile yedeklemeyi oluşturduğumuz komut sayesinde icra ettik, çalıştırdık. Son olarakta backup nesnesi altında bulunan ExportToFile() fonksiyonu ile de masaüstünde deneme.sql dosyasına yedekleme yaptık. Bu dosyayı bizim oluşturmamıza gerek yok, zaten kendisi dosya yoksa oluşturuyor. Tabiki veritabanında bu işlemlerin yapılabilmesi için bağlantının açılması gerekiyordu, ki yedeklemeden önce açtık ve yedeklemeyi yaptıktan sonra da var olan bağlantıyı kapattık. Yalnız veritabanı adı ile yedekleme yapılacak dosya adının aynı olması şart değil, deneme isimli veritabanını istediğimiz isimde bi dosyaya yedekleyebiliriz. Ayrıca yedeklenecek dosyanın illa sql dosyası olması da şart değil, metin belgesine veya başka uzantılı dosyalara da yedekleme yapabilirsiniz.

Evet bu dersimizde bu kadardı, tüm C# derslerimize buraya tıklayarak ulaşabilirsiniz. Herkese hayırlı günler.

Skorumuz:
Oy Vermek İçin Tıklayın
[Toplam: 0 Ortalama: 0]

Bir cevap yazın

E-posta hesabınız yayımlanmayacak. Gerekli alanlar * ile işaretlenmişlerdir

Başa dön tuşu