SSH ile MySQL Veritabanı Yedeğinin Nasıl Alınacağını ve Geri Yükleneceğini anlatabilir misiniz?

Sisteminizin veri tabanı yedeğini almanız her zaman önemlidir. Ne zaman başınıza bir sorun geleceği hiç belli olmuyor. Yanlışlıkla silme durumları da olabiliyor, sisteme aşırı yük binmesinden dolayı işletim sisteminizin çökmesinden de veri kayıpları yaşanabiliyor. Kaldı ki donanım yanmalarının yada bozulmalarının konusuna hiç girmiyorum. Bu yüzden her zaman yedek almanız hayati önem taşıyor.

Mysql sunucuları ile uğraşıyorsanız yedeğinizi almanız iyi olacaktır. Ancak bazen büyük veri tabanları ile çalışmanız gerekir ki bu tabloların 1GB dan 50 GB a kadar büyüklüğü olabilir anlamına geliyor. bu durumda Web ara yüzünü kullanarak Databasenin yedeğini almanız imkansız olabiliyor. Burada SSH yazılımı ile sisteminize terminal girişi yani root girişi yaparak kısa sürede veri tabanı yedeği sunucunuza alabiliyorsunuz.

Mysql veritabanı yedek alma

mysqldump --opt -Q -u KULLANICI_ismi -p DATABASE_ismi > /yedek.sql

Bu işlemden sonra sizden veri tabanı kullanıcı şifresini isteyecek. Girdikten sonra enter yapın ve işlemin bitmesini bekleyin. Ana dizinde bir Mysql yedek dosyası oluşturulacak. İşte bu kadar kolay yedek almak.

Bazı zamanlarda bu yedeği geri yüklemeniz gerekir. Eğer dosya boyutu çok büyükse bu işlemi web ara yüzü ile yapamazsınız. Bunun içinde ssh aracılığı ile Databaseyi geri yükleyeceğiz.

Mysql veri tabanı yedeği geri yükleme

mysql -u KULLANICI_ismi -p DATABASE_ismi < /yedek.sql

yedek.sql dosyasının belirttiğiniz dizinde olması önemlidir arkadaşlar yoksa hata alırsınız.

Bu işlemler için ssh alanına bağlanmak için Putty yazılımını kullanabilirsiniz.


Mysql bütün veritabanlarını tek dosyada yedek alma

Aşağıdaki komut yardımı ile mysql programınızda bulunan bütün veritabanı ve kayıtlarını tek dosyada yedek alabilirsiniz. Ancak belirtmek isterim bütün veritabanlarını yedek aldığı için dosya boyutu fazla olabilir. #stackoverflow

mysqldump -u root -p --all-databases > alldb.sql

Yada farklı komutlar ekleyerekde komutu özelleştirebilirsiniz.

mysqldump -u root -p --opt --all-databases > alldb.sql mysqldump -u root -p --all-databases --skip-lock-tables > alldb.sql

Aldığınız yedeği geri yüklemek içinde aşağıdaki komutu kullanabilirsiniz:

mysql -u root -p < alldb.sql

Normal veri tabanı yükleme komutundan tek farkı veri tabanı ismi belirtmiyoruz.