Bir çok web sitesi hatta servis sağlayacılar bile verilerini saklamak için MariaDB sunucuları kullanmaktadır. Veriler web sitesinin en değerli varlığıdır ve bunu korumamız gerekmektedir. Korumak içinde en temel yapabileceğimiz işlemlerin başında düzenli olarak verilerimizi yedeklemek geliyor.
Verileriniz web sitesi çökmesi, saldırı veya sistem arızasından dolayı kaybolma riskleri bulunmaktadır.
Bu makalemizde verilerinizi yedekleme ve geri yükleyi öğreneceksiniz.
Yedekleme
MariaDB üzerinde fiziksel ve mantıksal olarak iki türlü yedekleme yapabilirsiniz.
Mantıksal yedekleme; oluşturma ve ekleme gibi SQL ifadelerini şekilde saklar. Fiziksel yedekleme; dosya ve dizinler şeklinde saklamasıdır.
Kullandığımız Sequel Ace, DataGrip veya HeidiSQL gibi araçlar üzerinden yedekleme alabilirsiniz ama deneyimlerime dayanarak söylüyorum ki yedekleme ve geri yükleme işlemlerinde bazen sorunlar yaşabilirsiniz. En sağlıklı MariaDB sunucusu içindeki mysqldump
ve mysqlhotcopy
araçlarıdır.
mysqldump araçını mantıksal yedekleme için kullandığımız gibi, mysqlhotcopy araçını fiziksel yedekleme için kullanacağız.
İlk önce mysqldump araçını üzeriden gideceğiz.
Eğer bir veri tabanını yedeklemek istiyorsak;
$ mysqldump -u root -p veritabani > /Users/huseyinyildirim/Desktop/yedek_veritabani.sql
Eğer bir veritabanı içinde bulunan tabloyu yedeklemek istiyorsak;
$ mysqldump -u root -p veritabani tablo > /Users/huseyinyildirim/Desktop/veritabani-tablo.sql
Veritabanı üzerindeki tüm veritabanlarını yedeklemek istiyorsak;
$ mysqldump -u root -p --all-databases > /Users/huseyinyildirim/Desktop/tum-veritabani.sql
Şimdi ise mysqlhotcopy araçı üzerinden gideceğiz. Bu araç belirttiğimiz klasöre yedeklenecek olan dosyaları çıkarmaktadır.
Eğer veritabanını yedeklemek istiyorsak;
$ mysqlhotcopy -u root -p veritabani /Users/huseyinyildirim/Desktop/veritabani
Birden fazla veritabanını yedeklemek istiyorsak;
$ mysqlhotcopy -u root -p veritabani1 veritabani2 /Users/huseyinyildirim/Desktop/Backups
Geri Yükleme
Bir veritabanı geri yüklemek istiyorsak;
$ mysql -u root -p veritabani < /Users/huseyinyildirim/Destektop/veritabani.sql
Bütün veritabanlarını geri yüklemek istiyorsak;
$ mysql -u root -p < /Users/huseyinyildirim/Destektop/tum-veritabani.sql