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.
peki sql yedeğinin konumunu nasıl belirtiriz bu sql leri ben pcme indirmek istiyorum.
Komutun sonundaki /yedek.sql kismina sunucunuzdaki herhangi bir dizini belirtebilirsiniz. Ornek home dizini icin
/home/yedek.sql sonrasinda /home klasorunden alabilirsiniz dosyayi.