php ve cronjob kullanarak büyük bir mysql tablo yedeklemek

3 Cevap php

Ben veritabanı düzenli bir dökümü geliştirmeye çalışıyorum. I this script yedekleme oluşturmak ve daha sonra düzenli bir cron işi aracılığıyla beslenmeye kullanıyorum. Sonunda biz bir metin dosyası gibi her şeyin bir e-posta arşiv ile sonuna kadar.

Biz karşılaştığınız sorun sofralarımızın iki boyutudur. Her 60k alanlar var ve günlük büyür. Ben artımlı yedekleme yedekleme için en iyi çözümdür düşünüyorum, ama hiç restore geldiyse ... Bu çok büyük bir proje olacak.

Benim soru bir iki parter: a) günlük / haftalık artan yedeklemeler bir yedeği geri yüklemek için kolay bir yol değilse, b) olduğunu, orada bir günlük bazda yedekleme büyük tabloları daha düz yol var ve?

Teşekkürler!

3 Cevap

Eğer yedekleme istediğiniz o tabloları aşağı dökümü mysqldump yürütmek için bir Crob işi kullanabilirsiniz. Sonra sadece günlük yedekleme için bu dosya üzerinde bir diferansiyel yedekleme kullanmak ve haftada bir kez tam bir yedekleme yapmak. Backup ağır kaldırma seçtiğiniz yedek motor tarafından yapılmalıdır.

Bir DB geri eğlenceli olmamıştı, bu yüzden ne olursa olsun büyük bir proje olacak.

http://dev.mysql.com/doc/refman/5.0/en/mysqldump.html

Bu sizin için çalışır varsa bana bildirin.

Sen Maatkit kontrol etmek isteyebilirsiniz. Bu perl komut bir grup bulunuyor. Biri dökümü MUCH daha hızlı gitmek için izin veren birden fazla (varsayılan olarak, makinede CPU başına 1) mysqldump kopyalarını çoğaltılır mk-paralel dökümü. Daniel önerilen gibi, aynı zamanda bir cron işi bu kadar ayarlayabilirsiniz.

Sonra bir SQL dökümü saklamak için tersledi kopya maatkit kullanmak, sizin veri kaynağı periyodik anlık görüntülerini almak için LVM anlık kullanmayı düşünün. Yedekleri canlı platformu için performans sorunlarına neden olmaz, böylece bir köle MySQL db üzerinde yapın.