Kolayca sadece bir mysqldump çalışmak için bir littel ağır el olabilir InnoDB ayarlarını değiştirmeyi önerebilir. Öneri hakkında ne olduğumu beğenmeyebilirsiniz, ancak bunun en iyi (sadece) seçeneğiniz olduğuna inanıyorum. İşte gidiyor:
ÖNERİ # 1: Genişletilmiş kesici uçları devre dışı bırak
Mysqldump için varsayılan ayar, tek bir INSERT içinde yüzlerce veya binlerce satırı bir araya toplamayı içerir. Bu, genişletilmiş bir INSERT olarak bilinir. Sadece max_allowed_packet dışında bir miktar taşmaya neden oluyor .
Ben büyük bir mysqldump ithal için aynı şeyi yapmayı tartıştım nerede Sep 01, 2011
( MySQL sunucusu büyük dökümlerin ithalat engel ortadan kalktı ) bir yazıyı yanıtladı. Genişletilmiş INSERT'i devre dışı bırakmanın da sıkıntılı bir mysqldump oluşturmaya yardımcı olacağına inanıyorum.
mysqldump -u root --skip-extended-insert -p maia > maia.sql
Kötü haber: Bunun için her satır için bir INSERT komutu oluşturun. Bu kesinlikle mysqldump gerçekleştirmek için gereken süreyi artıracaktır. Sonuç olarak, aynı zamanda yeniden yükleme zamanını da artıracaktır (muhtemelen 10-100 faktör ile).
Daha skip-extended-insert
önce tartıştım
ÖNERİ # 2: İkili verileri onaltılık olarak döküm (İSTEĞE BAĞLI)
Mysqldump'ın ikili verilerini daha fazla byte taşınabilir yapmak için, bu verileri onaltılık düzende boşaltın
mysqldump -u root --skip-extended-insert --hex-blob -p maia > maia.sql
Kötü Haber: Mysqldump'ı biraz daha şişirecek
BİR ŞANS VER !!!
Yan Not: max_allowed_packet'in maksimum boyutu 1G'dir