У мене є цей величезний дамп у 32 ГБ SQL, який мені потрібно імпортувати в MySQL. Мені раніше не довелося імпортувати такий величезний дамп SQL. Я робив звичайне:
mysql -uroot dbname < dbname.sql
Це забирає занадто довго. Є таблиця з приблизно 300 мільйонами рядків, вона отримала до 1,5 мільйона приблизно за 3 години. Отже, здається, що вся справа зайняла б 600 годин (це 24 дні) і недоцільно. Отже, моє запитання: чи існує швидший спосіб зробити це?
Детальна інформація / висновки
- У таблицях є всі InnoDB і не визначено сторонніх ключів. Однак є багато показників.
- У мене немає доступу до оригінального сервера та БД, тому я не можу зробити нову резервну копію або зробити "гарячу" копію тощо.
- Налаштування
innodb_flush_log_at_trx_commit = 2
, запропоновані тут, здається, не покращують (чітко видно / експоненціально). - Статистика сервера під час імпорту (з MySQL Workbench): https://imgflip.com/gif/ed0c8 .
- Версія MySQL - спільнота 5.6.20
- innodb_buffer_pool_size = 16М та innodb_log_buffer_size = 8М. Чи потрібно їх збільшувати?