Merhaba
Centos'a putty ile bağlanıp, sunucudaki bütün mysql veritabanlarını hepsini ayrı ayrı bir şekilde tek klasör içerisinde yedeklemek istiyorum.
Bu şekilde bir komut var mıdır acaba?
Bütün sql dosyalarını bir bütün halinde tek parça olarak istemiyorum. Hepsi ayrı ayrı olmalı, zira çok karışıklık yaşıyorum. Bilgisi olan paylaşırsa çok sevinirim.
Teşekkürler.
Centos SSH mysql yedek almak istiyorum
12
●1.528
- 01-08-2015, 21:06:40Merhaba,
Aşağıda ki kodu dener misiniz lütfen?
dabase_kullanıcı_ismi ve database_ismi olan kısımları kendi veritabanı adı ve kullanıcı adı olarak değiştiriniz.
veritabanı.sql de SSH da bulunduğunuz dizinin içine export edecektir. /root/veritabani.sql şeklinde yaparsanız /root/ dizini içine çıkartacaktır.
mysqldump -u database_kullanıcı_ismi -p database_ismi > veritabani.sql
- 01-08-2015, 23:56:02Üyeliği durdurulduYok hocam, yapmak istediğim o şekilde hepsini bir bütün halinde çıktı almak değil. Her veritabanını kendi başına listeleyerek yedeklemek istiyorum. Diğer türlü o veritabanı tek parça olacak ve hayli şişecek. Phpmyadmin'e onu yüklemek gibi bir zulüm yok.zoeken adlı üyeden alıntı: mesajı görüntüle
- 02-08-2015, 02:55:24Aşağıdaki kodu kullanabilirsin,Arguman adlı üyeden alıntı: mesajı görüntüle
sh mysqlyedekle.sh mysqlrootsifren şeklinde çalıştırmalısın, /root/sqlyedek klasörüne tüm veritabanlarını ayrı ayrı yedekler, ayrıca tarih vererek tek dosya halinde tar.gz ile sıkıştırıp /root dizinine kaydeder.
#!/bin/sh echo "root dizininde sqlyedek klasoru var mi." if [ -d '/root/sqlyedek' ]; then echo "root dizininde sqlyedek klasoru var." else echo "root dizininde sqlyedek klasoru yok ama simdi olusturuyorum." mkdir /root/sqlyedek fi echo echo "sql yedek almaya basliyor" find /var/lib/mysql/ -type d | cut -d. -f1 | cut -d/ -f5 > /root/list _db="$(gawk -F: '{ print $1 }' /root/list)" for u in $_db do mysqldump -u root -p$1 ${u} > /root/sqlyedek/${u}.sql echo "HAZIR > ${u}" done zaman=`date +"%d.%m.%Y-%T"` tar cvzf /root/$zaman-mysql.tar.gz '/root/sqlyedek' echo "TUM VERI TABANLARI YEDEKLENDI" echo "DOSYA YOLU : /root/$zaman-mysql.tar.gz" - 02-08-2015, 03:00:21Üyeliği durdurulduHocam bu uzun kodu nasıl çalıştıracağım acaba? txt dosyası içine mi kaydetmem gerek? Putty'den yapılmıyor bildiğim kadarıyla.victories adlı üyeden alıntı: mesajı görüntüle
- 02-08-2015, 03:03:40putty ile sunucunuza bağlanın, nano mysqlyedek.sh komutu ile yeni bir dosya açıp, kodları içine yapıştırın, (putty ekranında sağ tıklarsanız kopyaladığınız yazıyı yapıştırır) ctrl x - y - enter basın kaydeder.Arguman adlı üyeden alıntı: mesajı görüntüle
ardından tek yapmanız gereken sh mysqlyedek.sh mysqlsifreniz şeklinde komut vermek. - 02-08-2015, 03:10:14Üyeliği durdurulduKomutu çalıştırdım. WinScp ile sunucuya bağlanıp root klasörüne girdim. mysqlyedek isminde bir klasör var orada db isimleri var. Hepsi 0 Kb olarak görünüyor. Bir de direkt root dizininde bugünün tarihiyle bir tar.gz dosyası var o da 1 kb olarak görünüyor. Bu işlem belli bir süreden sonra mı tamamlanıyor acaba? Yoksa hemen mi yapıyor?victories adlı üyeden alıntı: mesajı görüntüle