Назад | Перейти на главную страницу

Как преобразовать дамп MyISAM .sql в InnoDB?

Могу ли я преобразовать сброшенную базу данных .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» во время экспорта, и тогда импорт будет намного быстрее