Her veri satırı için MySQLDump bir INSERT ifadesi


179

aşağıdaki ifadeyle:

mysqldump --complete-insert --lock-all-tables --no-create-db 
--no-create-info --extended-insert --password=XXX -u XXX 
--dump-date yyy > yyy_dataOnly.sql

Aşağıdaki gibi INSERT ifadeleri alıyorum:

INSERT INTO `table` VALUES (1,'something'),(2,'anything'),(3,'everything');

Benim durumumda ihtiyacım olan şey şudur:

INSERT INTO `table` VALUES (1,'something');
INSERT INTO `table` VALUES (2,'anything');
INSERT INTO `table` VALUES (3,'everything');

"Mysqldump" a her satır için yeni bir INSERT deyimi oluşturmasını söylemenin bir yolu var mı? Yardımınız için teşekkürler!

Yanıtlar:


279

kullanın:

mysqldump --extended-insert=FALSE 

Birden çok kesici ucun bir büyük kesici uçtan daha yavaş olacağını unutmayın.


75
--skip-extended-insert benim için doğru sözdizimi gibi görünüyor (mysqldump sürüm 10.13 kullanarak)
Isaac Betesh

17
Daha yavaş, evet, ancak birçok metin editöründe çok uzun metin satırları ile sorun var ve tablolar çok miktarda veri içeriyorsa, olacak olan budur.
Jahmic

mysqldump --opt --skip-extended-insertveya mysqldump --opt --extended-insert=FALSE
Yzmir Ramirez

AMAN TANRIM! Bu soruna neden olan yeni bir sürüme geçtim ve otomatik komut dosyalarımın çoğu başarısız oldu. Vidalandığımı düşündüm ama bu kolay bir düzeltme gibi görünüyor. Paylaşım için teşekkürler!
Varun Verma

11
Bu güzel, çünkü şimdi git diffiki farklı veritabanı dökümü üzerinde yapabilirim ve ne değiştiğinin net bir resmine sahip olabilirim.
Rolf

9

Daha yeni sürümlerde bayraklarda değişiklik yapıldı: belgelerden:

- uzatılmış ekleme, -e

Birkaç VALUES listesi içeren çok satırlı sözdizimi kullanarak INSERT ifadeleri yazın. Bu, daha küçük bir döküm dosyasıyla sonuçlanır ve dosya yeniden yüklendiğinde ekleri hızlandırır.

--opt

Varsayılan olarak etkinleştirilen bu seçenek - add-drop-table - add-locks --create-options --disable-keys --extended-insert --lock-tables --quick - set charset. Hızlı bir döküm işlemi sağlar ve bir MySQL sunucusuna hızlı bir şekilde yeniden yüklenebilen bir döküm dosyası üretir.

--Opt seçeneği varsayılan olarak etkinleştirildiğinden, yalnızca bunun tersini belirtirsiniz, --skip-opt, birkaç varsayılan ayarı kapatmak için kullanılır. --Opt tarafından etkilenen seçeneklerin bir alt kümesini seçici olarak etkinleştirme veya devre dışı bırakma hakkında bilgi için mysqldump seçenek gruplarının açıklamasına bakın.

--skip-genişletilmiş insert

Genişletilmiş kesici ucu kapatın

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.