Нова установка CentOS.
Я проводив імпорт великого БД (файл 2 Гб sql), і у мене виникла проблема. Клієнт SSH, здавалося, втратив зв’язок, а імпорт ніби застиг. Я використовував інше вікно для входу в mysql, а імпорт виявився мертвим, застряг у певній таблиці рядків 3M.
Тому я спробував
DROP DATABASE huge_db;
Через 15-20 хвилин нічого. В іншому вікні я зробив:
/etc/init.d/mysqld restart
Повідомлення вікна DROP DB: SERVER SHUTDOWN. Тоді я фактично перезапустив фізичний сервер.
Повернувся назад до mysql, перевірив, а db все ще там, побіг
DROP DATABASE huge_db;
знову, і знову чекаю вже близько 5 хвилин.
Ще раз, це свіжа установка. huge_db
Є єдиним дб (крім системи DBS). Я клянусь, що раніше і швидко скинув db's великий, але, можливо, я помиляюся.
Я успішно скинув базу даних. Минуло щось на кшталт 30 хвилин. Також зауважте, що я думаю, що я помилявся, коли думав, що імпорт mysqldump мертвий. Термінальне з'єднання було втрачено, але я думаю, що процес все ще тривав. Я, швидше за все, вбив імпортну середину таблиці (таблиця рядків 3M) і, ймовірно, 3/4 шляху через весь db. Введено в оману, що "верх" показав mysql, використовуючи лише 3% пам'яті, коли здавалося, що він повинен використовувати більше.
Відкидання БД закінчилося 30 хвилин, тому, знову ж таки, мені, можливо, не довелося б перезавантажувати сервер і, можливо, я міг би просто чекати закінчення DROP, але я не знаю, як mysql відреагує на отримання запиту DROP для той самий db, який він імпортує через mysqldump.
І все-таки залишається питання, чому потрібно 30min +, щоб знищити базу даних 2 Гб, коли все, що потрібно зробити, - це видалити всі db-файли та видалити всі посилання на БД з information_schema? Яка велика справа?
DROP DATABASE
команди сервер не буде продовжуватися, поки всі з'єднання не будуть закриті.