Коли ви виконуєте mysqldump єдиної бази даних, всі таблиці скидаються в алфавітному порядку.
Природно, перезавантаження mysqldump у базу даних також відбуватиметься в алфавітному порядку.
Ви можете просто зробити ПОКАЗНИК ПРОЦЕСЛІСТА; і з'ясуйте З'єднання БД під управлінням mysqldump. Коли дамп буде перезавантажено, з'єднання БД зникне.
Якщо ви хочете знати, які таблиці є у dumpfile, запустіть це проти foobar.sql
cat foobar.sql | grep "^CREATE TABLE" | awk '{print $3}'
ОНОВЛЕННЯ 2012-05-02 13:53 EDT
Вибачте, що не помітили, що є лише одна таблиця.
Якщо таблиця MyISAM, єдиний спосіб моніторингу - це з точки зору ОС. Причина? Таблиця записується під час перезавантаження. Що ти шукаєш? Розмір .MYD
і .MYI
файлів. Звичайно, вам потрібно порівняти це з тим, яким був розмір таблиці на іншому сервері БД, з якого ви імпортували.
Якщо таблиця InnoDB і у вас увімкнено innodb_file_per_table , єдиний спосіб моніторингу - це з точки зору ОС. Причина? Таблиця записується під час перезавантаження. Що ти шукаєш? Розмір .ibd
файлу. Звичайно, вам потрібно порівняти це з тим, яким був розмір таблиці на іншому сервері БД, з якого ви імпортували.
Якщо таблиця InnoDB і ви відключили innodb_file_per_table , навіть точка зору ОС не може допомогти.
ОНОВЛЕННЯ 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
прокоментувати з dumpfile ...
- якщо таблиця MyISAM, спрацює SELECT COUNT (*)
- якщо таблиця InnoDB, SELECT COUNT (*), ймовірно, сповільнить / зупинить завантаження, поки не буде виконано підрахунок