Linux üzerinde mysqldump komutunu kullanarak MySQL ve Mariadb veritabanlarının bir çok yedekleme işlemleri yapabiliriz. Bununla birlikte mysql komutunun yardımıyla da geri yükleme işlemlerimizi yapabiliriz.
Veritabanı yedekleme ve geri yükleme işlemlerinde kullanılacak kullanıcının yönetici yetkilerine sahip olduğunu emin olunması gerekiyor. Mevcut işlemler ve örnekler esnasında root kullanıcısı ile işlem yapacağımız için bizim için sorun olmayacaktır.
MySQL / MariaDB veritabanı nasıl yedeklenir
MySQL / MariaDB veritabanı yedekleme işlemlerinde en temel kullandığımız komut aşağıdaki gibidir.
mysqldump -u [kullanıcı adı] —p [şifre] [veritabanı_adı] > [yedek_adı.sql]
Bir veritabanının yedeklenmesi
Örnek olarak sanaltest isimli veritabanını aşağıdaki şekilde yedekleyebiliriz.
mysqldump -u root -p sanaltest > sanaltest.sql
Burada -p bölümü yani parolayı boş bıraktığımız için komutu çalıştırdığımızda sistem root şifresini soracaktır.
Birden çok veritabanının yedeklenmesi
Birden çok veritabanının yedeğini için ise komutumuzu aşağıdaki gibi düzenlememiz gerekiyor. Burada iki veritabanını tek bir yedek olarak almış oluyoruz.
mysqldump -u root -p --databases sanaltest sanal2test > sanaltestv.sql
Tüm veritabanlarının yedeklenmesi
Tüm veritabanlarının yedeğini ise –all-database parametresini komutumuza ekleyerek alıyoruz.. Burada da tüm sunucudaki tüm veritabanlarını tek dosyaya yedeklemiş oluyoruz.
mysqldump -u root -p --all-databases > veritabanlarim.sql
Tek bir veritabanı tablosunun yedeklenmesi
mysqldump komutu ile istersek veritabanındaki tek bir tablonunda yedeğini oluşturabiliriz.
mysqldump -u root -p wordpress wp_posts > wp_posts.sql
MySQL / MariaDB veritabanı nasıl geri yüklenir
Yedekleme için kullandığımız veritabanı komutumuzda ufak bir değişiklik yaparak geri yükleyebiliriz.
mysql -u [kullanıcı adı] —p [şifre] [veritabanı_adı] < [yedek_adı.sql]
Örneğin, sanaltest veritabanının geri yükleme komutu da aşağıdaki gibidir..
mysql -u root -p sanaltest < sanaltest.sql
Uzak (Remote) Veritabanı Sunucusunda İşlem Yapma
MySQL / MariaDB veritabanlarının yedekleme ve geri yükleme işlemlerini uzaktan gerçekleştirirken komutumuza “-h 192.168.0.2” şeklinde sunucu host/ip bilgisini eklememiz yeterlidir. Örneğin;
mysqldump -u root -p -h 192.168.0.2 sanaltest > sanaltest.sql
mysql -u root -p -h 192.168.0.2 sanaltest < sanaltest.sql