Могу ли я преобразовать сброшенную базу данных .sql MyISAM в движок InnoDB перед ее импортом на мой сервер MySQL? К сожалению, для завершения импорта текущего файла .sql требуется много времени.
Ты можешь использовать sed
искать engine myisam
и замените его на engine innodb
.
sed -e 's/engine myisam/engine innodb/g' file.sql > file_innodb.sql
Если вы действительно хотите изменить движок перед импортом, единственный способ - найти / заменить. Не уверен, что изменение MyISAM на InnoDB может ускорить импорт, но учтите пару моментов:
Если у вас большой дамп, не используйте phpMyAdmin для импорта. С помощью phpMyAdmin мы налагаем ограничения php, такие как максимальное время выполнения, и импорт может завершиться ошибкой. Используйте командную строку - CMD в Windows или Терминал в Linux - для входа в mysql и затем импортируйте дамп. Это работает очень хорошо, я без проблем импортировал файл размером 2,5 ГБ.
Скорость импорта зависит и от самого дампа. Если дамп создается с 1 оператором вставки на запись, то его путь медленный. Выберите «вставлять несколько строк в каждый оператор INSERT» во время экспорта, и тогда импорт будет намного быстрее