Yazdığımız yazılımın veritabanını zaman zaman yedeklememiz gerekir. Bu nedenle MySQL yedek alma ve geri yükleme önem taşımaktadır. Verilerin güvenliği ve veri kaybını önlemek amacı ile düzenli olarak yedek alınmalıdır. Yedek alırken çok eski yedeklerin silinmesinde ya da sistem sorunsuz çalışıyorsa aynı yedeğin üzerine yazılmasında sakınca yoktur.
Yedek almak için MySQL ile beraber gelen 2 araca ihtiyacımız olacak. Biri mysqldump.exe, diğeri ise mysql.exe. Bu iki araç da MySQL’in kurulu olduğu klasördeki bin dizini içinde bulunmaktadır.
Yedek almak için MySQL ile gelen mysqldump.exe aracını kullanacağız. Bu aracı MySQL’in kurulu olduğu dizindeki “bin” klasöründe bulabilirsiniz. Kullanıcı adınızın “kullaniciadi” ve parolanızın da “kullaniciparolasi” olduğunu varsayıyorum. Yedeklenecek veritabanının adını da veritabani_1 olduğunu varsayıyorum.
Şimdi veritabani_1 isimli veritabanının yedeğini vt_yedek.sql adlı dosyaya alalım.
mysqldump.exe -u kullaniciadi -p kullaniciparolasi veritabani_1 > vt_yedek.sql
Yedek yolu belirtmek isterseniz aşağıdaki gibi kullanabilirsiniz
mysqldump.exe -u kullaniciadi -p kullaniciparolasi veritabani_1 > "D:\Yedekler\MySQL Yedekleri\vt_yedek.sql"
Birden fazla veritabanı yedeklemek isterseniz:
mysqldump.exe -u kullaniciadi -p kullaniciparolasi -databases veritabani_1 veritabani_2 veritabani_3 veritabani_n > vt_yedek.sql
Tüm tabloları yedeklemek isterseniz:
mysqldump.exe -u kullaniciadi -p kullaniciparolasi -all-databases > vt_yedek.sql
Yedekleme işleminde Türkçe karakterlerde sorun yaşayabilirsiniz. Böyle durumda –result-file parametresini kullanmanız uygun olacaktır.
mysqldump.exe -u kullaniciadi -p kullaniciparolasi --result-file=vt_yedek.sql veritabani_1
Yukarıdaki yönteme rağmen Türkçe karakterlerde sorun yaşıyorsanız ve karakter kodlamanız veri tabanında utf-8 ise –default-character-set=utf8 komutunu kullanmanız gerekir. Bu sorununuzu çözecektir.
mysqldump.exe -u kullaniciadi -p kullaniciparolasi --default-character-set=utf8 --result-file=vt_yedek.sql veritabani_1
Geri yüklemek için yapmamız gerekenler ise sırası ile mysql.exe komut satırına giriş yapmak. Genel olarak lokalden kullanıcı adı root ve parola boş olarak bağlanılır. Parola boş olacağı için -p parametresinden sonra birşey girilmez.
1. Bağlantı
mysql.exe -u root -p
2. Veri tabanı oluşturma
create database veritabani_1;
3. Kullanıcı Oluşturma ve Çıkış
grant all privileges on veritabani_1.* to kullaniciadi@localhost identified by kullaniciparolasi; exit;
4. İçeri Aktarma
mysql.exe -u kullaniciadi -p veritabani_1 < vt_yedek.sql
4. Farklı Bir Alternatif İçe Aktarma Yolu
mysql.exe -u kullaniciadi -p # Bu bölümde parola sorulacaktır use veritabani_1; source vt_yedek.sql;
Tek satırda kullanımı da şu şekilde olacaktır.
mysql.exe --user=kullaniciadi --password=kullaniciparolasi veritabani_1 --execute="source vt_yedek.sql"
Bu kadar basit.
mysql.exe için -p parametresi bir parolanın olduğunu ve sorması gerektiğini ifade eder. Kullanmak istediğiniz parolayı elle girmeniz gerekmektedir. Parolayı komut satırı üzerinden uygulamaya göndermeniz güvenli olmayacaktır. Sadece belirli ip’de ya da lokalde kullanılan parolasız bir kullanıcı oluşturabilirsiniz. Çok gerekli ise –password=kullaniciparolası parametresi ekleyerek kullanabilirsiniz. Bu toplu iş dosyası (.bat) oluştururken işinize yarayacaktır.
Daha fazla SQL ile ilgili dersler için SQL Kategorisini ziyaret edebilirsiniz. Yorum yapmayı ve duyurulara abone olmayı unutmayın.
2014 © Web Fikirleri - Her Hakkı Saklıdır.