Tek bir veritabanında bir mysqldump yürüttüğünüzde, tüm tablolar alfabetik sırayla dökülür.
Doğal olarak, mysqldump’ın bir veritabanına yeniden yüklenmesi de alfabetik olarak sıralanır.
Bir GÖSTERİ İŞLEMCİ YAPABİLİRSİNİZ; ve mysqldump çalıştıran DB Bağlantısını öğrenin. Dökümü yeniden yüklendiğinde, DB bağlantısı kaybolur.
Hangi tabloların döküm dosyasında olduğunu bilmek istiyorsanız, bunu foobar.sql'a karşı çalıştırın.
cat foobar.sql | grep "^CREATE TABLE" | awk '{print $3}'
GÜNCELLEME 2012-05-02 13:53 EDT
Sadece bir masa olduğunu fark etmediğim için üzgünüm.
Eğer tablo MyISAM ise, izlemenin tek yolu işletim sistemi açısındandır. Sebep? Tablo yeniden yükleme boyunca yazma kilitlidir. Ne arıyorsunuz? .MYD
Ve .MYI
dosyaların boyutu . Tabii ki, ithal ettiğiniz diğer DB sunucusunda daha önce tablo boyutunun ne olduğu ile karşılaştırmanız gerekir.
Tablo InnoDB ise ve innodb_file_per_table etkinse, izlemenin tek yolu işletim sistemi bakış açısına göredir . Sebep? Tablo yeniden yükleme boyunca yazma kilitlidir. Ne arıyorsunuz? .ibd
Dosyanın boyutu . Tabii ki, ithal ettiğiniz diğer DB sunucusunda daha önce tablo boyutunun ne olduğu ile karşılaştırmanız gerekir.
Tablo InnoDB ise ve innodb_file_per_table devre dışı bırakılmışsa, işletim sistemi bakış açısı bile yardımcı olamaz.
GÜNCELLEME 2012-05-02 13:56 EDT
Geçen yıl böyle bir şeye değindim: "type db.sql | mysql" için% ilerleme nasıl alırım
GÜNCELLEME 2012-05-02 14:09 EDT
Standart bir mysqldump yazma masasını şöyle kilitler:
LOCK TABLES `a` WRITE;
/*!40000 ALTER TABLE `a` DISABLE KEYS */;
INSERT INTO `a` VALUES (123),(451),(199),(0),(23);
/*!40000 ALTER TABLE `a` ENABLE KEYS */;
UNLOCK TABLES;
daha sonra, masa kilidi serbest bırakılıncaya kadar mysql ile bir ilerleme elde etmek için bir yolu yoktur.
Alabileceğiniz olursa LOCK TABLES
ve UNLOCK TABLES
dumpfile dışına yorumladı ...
- Eğer tablo MyISAM ise, SELECT COUNT (*) işe yarar.
- Eğer masa InnoDB ise, SELECT COUNT (*), sayım tamamlanıncaya kadar yükü yavaşlatır / durdururdu.