Linux sunucuda SSH ile MySQL veritabanlarını yedekleyebilir ve geri yükleyebilir miyim diye bir soruyu sormamış olun. Tabii ki SSH ile bunu yapabilirsiniz. Ancak MySQL root şifresini biliyorsanız bu mümkün. SSH root şifresi ile MySQL root şifresi genelde farklıdır. Basit olarak yedek alma ve yedekten geri yükleme örnek komutları aşağıdaki gibidir. (NOT: Komutları çağırınca şifre ekranı açılacak ve MySQL root şifresini girmeniz istenecektir.)
Veritabanı yedeğini almak
Bir veritabanının yedeğini alacaksanız;
mysqldump -u root -p veritabani_adi > veritabani_adi.sql
Birden fazla veritabanını yedekleyecekseniz;
mysqldump -u root -p --databases veritabani1 veritabani2 > veritabanlari.sql
Bütün veritabanlarını yedekleyecekseniz;
mysqldump -u root -p --all-databases > butunveritabanlari.sql
Bir veritabanı içerisindeki bir tabloyu yedekleyecekseniz;
mysqldump -u root -p veritabani tabloadi > tabloadi.sql
Peki hem yedek alıp hem de sıkıştırmak istersek;
mysqldump -u root -p veritabani_adi | gzip > veritabani.sql.gz
Sadece veri olarak yedek almak istersek;
mysqldump -u root -p --no-create-info veritabani > veritabani.sql
Sadece yapı olarak yedek almak istersek;
mysqldump -u root -p --no-data veritabani_yapi > veritabani_yapi.sql
Peki yedeği nasıl geri yükleriz?
Bir yedeği geri yüklemek için;
mysql -u root -p veritabani_adi < veritabani_adi.sql
Peki bütün bir yedekten tek bir veritabanını geri yüklemek istersek;
mysql -u root -p --one-database veritabani_adi < butunveritabanlari.sql