MySQL Veritabanında Yedekleme
Herhangi bir veri kaybı yaşamadıysanız, yaşamayacağınız anlamına gelmez. Bu nedenle, kötü bir durumla karşılaşmadan, işi garantiye alınız ve hangi veritabanını kullanıyorsanız kullanın mutlaka yedekleme yapınız.
Ara sıra yaptığınız yedeklemeleri başka bilgisayarda geri yükleyerek de test ediniz. Çünkü sık karşılaşılan durumlardan biri yedeklere güvenerek, test etmeden yola devam etmektir. Günlük hayatta da illa ki başınıza gelmiştir, ya sıkıştırdığınız dosyada bozulma olur açamazsınız, ya yedekleme yaptığınız dosyalarda eksiklikler vardır, ya da yedekleme programı hata vermiştir fakat siz görmemişsinizdir. İşte bu durumlarla karşılaşmamak için yedeklerinizi bir de geri yüklemeyi seçin, içiniz rahat olsun.
Şimdi gelelim MySQL Veritabanını yedekleme işlemine. PhpMyAdmin kullanıyorsanız ya da böyle bir arayüze erişim yetkiniz varsa, PhpMyAdmin'de ana pencerede Dışarı Aktar (Export) ile yedekleme yani backup işlemini yapıp, daha sonra İçeri Aktar (Import) ile geri yükleme yani restore işlemini yapabilirsiniz.
Peki komut satırından nasıl yedekleme yapacağız? Bu işlem için mysqldump aracını kullanacağız. MySQL'i kurduğunuz bin dizini içinde bu mysqldump.exe dosyasına rastlayacaksınız.
MySQL veritabanını yedekleme işletim sistemine göre farklılık gösterir. Genelde MySQL, Unix/Linux tabanlı sistemlere yaygınken, Windows tabanlı sistemlere de kurulduğunu ve kullanıldığını sıklıkla görüyoruz.
Windows türevi (Windows 2003, 2008, 2012) sunucularda ise aşağıdaki komut satırını PHP içinden çalıştırdığızda işinizi görecektir.
exec("mysqldump VeritabanıAdi -u KullaniciAdi -p Parola > yedekDosyaAdi.sql");
Bu şekilde çalıştırdığınızda yedekleme işlemi başlayacaktır. Örneğin kendi bilgisayarımda Wamp kurulu ve yedekleme yapmak için C:\wamp\bin\mysql\mysql5.6.17\bin klasörüne girdim. Bu klasöre sık sık girmek istemiyorsanız PATH komutu ile yol tanımı yapabilir, böylece mysqldump dosyasını direkt çalıştırabilirsiniz.
Yukarıdaki komut satırıyla webblog isimli veritabanını yedekleyerek yedekBlog.sql dosyasını oluşturduk. Dikkat ederseniz şifre yazmadık, çünkü wamp kurulurken kullanıcı adı root, şifre ise boşluktur. Bu nedenle şifre sorduğunda Enter'e basarak geçtik.
Linux/Unix türevi sistemlerde de benzer şekilde yedeklemeyi, terminal(console) ekranında, veritabanı yönetim yetkisine sahipseniz yapabilirsiniz. PHP içinden aşağıdaki şekilde çalıştırabilirsiniz.
$dosya = "yedekVeritabanı.sql" ;
Şimdilik anlatacaklarım bu kadar, farklı kodlar bulup, deneyebilirsiniz. Hatta Linux'de cronjob ile, Windows İşletim Sisteminde de Task Scheduler (Görev Zamanlayıcı) ile yedeklemenin belli bir zamanda başlamasını sağlayabilirsiniz. Örneğin her gün gece saat 04:00'de yedeklesin diyebilirsiniz.
İyi çalışmalar ve veri kayıpsız günler dileğiyle,
Ocak 2015
Oğuzhan TAŞ
Şimdi gelelim MySQL Veritabanını yedekleme işlemine. PhpMyAdmin kullanıyorsanız ya da böyle bir arayüze erişim yetkiniz varsa, PhpMyAdmin'de ana pencerede Dışarı Aktar (Export) ile yedekleme yani backup işlemini yapıp, daha sonra İçeri Aktar (Import) ile geri yükleme yani restore işlemini yapabilirsiniz.
Peki komut satırından nasıl yedekleme yapacağız? Bu işlem için mysqldump aracını kullanacağız. MySQL'i kurduğunuz bin dizini içinde bu mysqldump.exe dosyasına rastlayacaksınız.
MySQL veritabanını yedekleme işletim sistemine göre farklılık gösterir. Genelde MySQL, Unix/Linux tabanlı sistemlere yaygınken, Windows tabanlı sistemlere de kurulduğunu ve kullanıldığını sıklıkla görüyoruz.
Windows türevi (Windows 2003, 2008, 2012) sunucularda ise aşağıdaki komut satırını PHP içinden çalıştırdığızda işinizi görecektir.
exec("mysqldump VeritabanıAdi -u KullaniciAdi -p Parola > yedekDosyaAdi.sql");
Bu şekilde çalıştırdığınızda yedekleme işlemi başlayacaktır. Örneğin kendi bilgisayarımda Wamp kurulu ve yedekleme yapmak için C:\wamp\bin\mysql\mysql5.6.17\bin klasörüne girdim. Bu klasöre sık sık girmek istemiyorsanız PATH komutu ile yol tanımı yapabilir, böylece mysqldump dosyasını direkt çalıştırabilirsiniz.
Yukarıdaki komut satırıyla webblog isimli veritabanını yedekleyerek yedekBlog.sql dosyasını oluşturduk. Dikkat ederseniz şifre yazmadık, çünkü wamp kurulurken kullanıcı adı root, şifre ise boşluktur. Bu nedenle şifre sorduğunda Enter'e basarak geçtik.
Linux/Unix türevi sistemlerde de benzer şekilde yedeklemeyi, terminal(console) ekranında, veritabanı yönetim yetkisine sahipseniz yapabilirsiniz. PHP içinden aşağıdaki şekilde çalıştırabilirsiniz.
$dosya = "yedekVeritabanı.sql" ;
system("mysqldump --opt -h -u KullanıcıAdi -p Parola VeritabanıAdı | gzip >".$dosya ;);
Şimdilik anlatacaklarım bu kadar, farklı kodlar bulup, deneyebilirsiniz. Hatta Linux'de cronjob ile, Windows İşletim Sisteminde de Task Scheduler (Görev Zamanlayıcı) ile yedeklemenin belli bir zamanda başlamasını sağlayabilirsiniz. Örneğin her gün gece saat 04:00'de yedeklesin diyebilirsiniz.
İyi çalışmalar ve veri kayıpsız günler dileğiyle,
Ocak 2015
Oğuzhan TAŞ
Dil Değiştir(Change Language)
Kategoriler
- Csharp(58)
- Csharp Formlar(23)
- Web Tasarım(9)
- CSS(27)
- JavaScript(37)
- PHP(50)
- Laravel(3)
- ASP.net(38)
- Excel(15)
- Güvenlik(4)
- E-Ticaret(3)
- Kariyer(5)
- SQL Server(29)
- MySQL(16)
- Linux(17)
- MacOSX(8)
- Ayarlar(12)
- Bilgisayar Ağları(3)
- Symfony(1)
- Teknoloji(7)
- VBS(1)
- Arduino(6)
- RaspberryPi(1)
- Algoritmalar(15)
- HTML(3)
- Python(2)
- Bash Script(7)
- C Programlama(10)
- Flutter - Dart(11)
- Bootstrap(1)
En çok Okunan 18 Makale
- :: Excelde EĞER Fonksiyonu Kullanımı...
- :: Csharp ile Access Veritabanı Bağlan...
- :: SQL nedir, Temel SQL Komutları nele...
- :: Hangi Linux Dağıtımı?
- :: OSX İşletim Sistemine PHP, MySQL, A...
- :: PHP dilini kullanarak MySQLi tekniğ...
- :: Excel Hesap tablosunda EĞERSAY Fonk...
- :: Excel Hesap tablosunda ÇOKETOPLA Fo...
- :: Excel Hesap tablosunda ETOPLA Fonks...
- :: Excel Hesap tablosunda ÇOKEĞERSAY F...
- :: Hangi Programlama Dilini Öğrenmeliy...
- :: Mac Bilgisayarınıza Windows 7 Yükle...
- :: PHP ile Basit Dosya Yükleme
- :: C# Programlama Dili ile İlgili Örne...
- :: PHP Dili kullanarak MySQLi Tekniği ...
- :: Excel hücrelerinde yıldız koyarak b...
- :: PhpMyAdmin Şifresi Nasıl Değiştiril...
- :: Hangisi acaba, PHP mi ASP.NET mi ?