जब आप किसी एकल डेटाबेस के mysqldump को निष्पादित करते हैं, तो सभी तालिकाओं को वर्णानुक्रम में डंप किया जाता है।
स्वाभाविक रूप से, एक डेटाबेस में mysqldump का पुनः लोड भी वर्णमाला क्रम में होगा।
तुम सिर्फ एक शोकेस कर सकते हो; और mysqldump को चलाने वाले DB कनेक्शन का पता लगाएं। जब डंप पुन: लोड किया जाता है, तो DB कनेक्शन गायब हो जाएगा।
यदि आप यह जानना चाहते हैं कि डंपफाइल में कौन सी टेबल हैं, तो इसे foobar.sql के विरुद्ध चलाएं
cat foobar.sql | grep "^CREATE TABLE" | awk '{print $3}'
UPDATE 2012-05-02 13:53 EDT
यह देखने के लिए क्षमा करें कि केवल एक तालिका है।
यदि तालिका MyISAM है, तो निगरानी करने का एकमात्र तरीका OS बिंदु से है। कारण? तालिका को पुनः लोड करने के दौरान लिखा गया है। तुम क्या ढूँढ़ते हो? फ़ाइलों .MYD
और .MYI
फ़ाइलों का आकार । बेशक, आपको यह तुलना करने की आवश्यकता है कि आपके द्वारा आयात किए गए अन्य DB सर्वर पर टेबल का आकार पहले क्या था।
यदि तालिका InnoDB है और आपके पास innodb_file_per_table सक्षम है, तो मॉनिटर करने का एकमात्र तरीका OS दृष्टिकोण से है। कारण? तालिका को पुनः लोड करने के दौरान लिखा गया है। तुम क्या ढूँढ़ते हो? .ibd
फ़ाइल का आकार । बेशक, आपको यह तुलना करने की आवश्यकता है कि आपके द्वारा आयात किए गए अन्य DB सर्वर पर टेबल का आकार पहले क्या था।
यदि तालिका InnoDB है और आपके पास innodb_file_per_table अक्षम है, तो ओएस बिंदु भी मदद नहीं कर सकता है।
UPDATE 2012-05-02 13:56 EDT
मैंने पिछले साल कुछ इस तरह से संबोधित किया: मुझे "db.sql | mysql" के लिए% प्रगति कैसे मिलेगी
अद्यतन 2012-05-02 14:09 EDT
चूंकि एक मानक mysqldump इस तरह से तालिका को लिखता है:
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;
तब, मेज लॉक जारी होने तक mysql के साथ प्रगति प्राप्त करने का कोई तरीका नहीं है।
यदि आप डंपफाइल से बाहर निकल सकते हैं LOCK TABLES
और UNLOCK TABLES
टिप्पणी कर सकते हैं ...
- यदि तालिका MyISAM है, तो SELECT COUNT (*) काम करेगा
- यदि तालिका InnoDB है, तो SELECT COUNT (*) संभवतया लोड को धीमा / रोक देगा जब तक कि गणना नहीं की जाती है