MySQL Sunucusunu Yedekle


13

MySQL sunucusunu yedeklemenin en iyi yolu nedir? Sunucuyu devirmeyi gerektirmeyen bir yöntem istiyorum. InnoDB hot backup gibi bir şey gerekli mi, yoksa sadece MySQL Yönetici araçlarında sağlanan yedekleme araçlarını kullanabilir miyim. Biri diğerine göre ne gibi avantajlar sunuyor?

Yanıtlar:


12

MySQL çalışırken çalışan mysqldump kullanıyoruz. Mysqldump'ı kullanmaya başladık çünkü ihtiyaçlarımız küçükken kurulumu en kolay olanıydı ve bu ihtiyaçları karşılıyor gibiydi. Veritabanlarımız o zamandan beri büyüdü, ancak henüz mysqldump'tan fazla büyümüş değiliz. Size uygun olup olmadığı veritabanlarınızın boyutuna, normal çalışma yüküne ve muhtemelen bir sürü başka şeye bağlı olacaktır.


mysqldump harika. Diğer bazı RDMS'lerin ikili dökümlerinin aksine, mysqldump'ın oluşturduğu dosyalar varsayılan olarak tam teşekküllü sql komutlarına sahip metin dosyalarıdır - çoğunlukla CREATE TABLE deyimleri ve satırlar için INSERT'ler. Basit metin dosyaları olarak kolayca manipüle edilebilir, sıkıştırılabilir veya şifrelenebilir.
nedm

3
mysqldump, büyük veritabanlarınız olduğunda ve / veya MyISAM'a güveniyorsanız bozulur. Yedeklemeden kurtarmanın ağaç günlerini alması için, dökümü içe aktarırken yeniden oluşturulması gereken çok sayıda dizine sahip 400G veritabanlarımız var. LVM anlık görüntüsü, mysqldump'ı geçtiğinizde çok daha iyi bir iyileşme süresi sağlar.
Nils-Anders Nøttseter

4

percona'dan xtrabackup'a bir göz atın - innodb veritabanları için mysqlhotcopy'ye ilginç bir açık kaynak alternatifi.

buradan daha fazla bilgi edinebilirsiniz


3

mysqldump kullanılabilir, ancak tüm tabloları döküm süresi boyunca kilitlemediğiniz sürece tutarlı bir veri kümesini garanti etmez . Bu, veritabanını salt okunur moda geçirir, ancak dökümün tutarlı olmasını sağlar.

Tabloları şu komutla kilitleyebilirsiniz:

FLUSH TABLES WITH READ LOCK;

Ve işiniz bittiğinde kilidi şu şekilde serbest bırakabilirsiniz:

UNLOCK TABLES;

7
mysqldump - tek işlem tutarlı bir enstantane sağlayacaktır
Dave Cheney

5
- tek işlem yalnızca tüm tablolarınız InnoDB olduğunda çalışır. MyISAM tabloları işlemleri desteklemez.
Nils-Anders Nøttseter


2

Kur MySQL Çoğaltma . Bonus olarak ana üretim db etkilemeden ağır raporlama işleri ve mysqldump çalıştırmak için bir sunucu olsun.


Çoğaltmanın ertelenebileceğini ve bu nedenle ana verilerinizin belirli bir zamanda yedeklenmeyebileceğini unutmayın.

2
Çoğaltma yedek değildir. Master'da bir şeyi yanlışlıkla silerseniz, köle de siler. Köle, mysqldump'ı kullanmak için iyidir, çünkü üretim sunucunuzu etkilemez (Dave'in belirttiği gibi).
Martijn Heemels


0

Ayrıca bir keresinde baktığım ve çok fazla söz verdiğini düşündüğüm mysqlhotcopy adlı bir araç da var - asla kullanmamıştı.

Sitemizi kullandığınızda şunları okuyup anladığınızı kabul etmiş olursunuz: Çerez Politikası ve Gizlilik Politikası.
Licensed under cc by-sa 3.0 with attribution required.