Конвертация типов движка таблиц mysql

Для начала настройте сервер на поддержку движка InnoDB или уберите, в зависимости от того в какую сторону вам нужно конвертировать таблицы
Откройте конфиг mysql и убедитесь что там нет или закоментирована сточка skip-innodb или добавьте ее в случае использования MyISAM
Так же для innodb убедитесь в параметре innodb_data_file_path. :

1
innodb_data_file_path = ibdata1:100M:autoextend

Процедура конвертации
Создаем дамп нужной нам базы

1
mysqldump -u USER -pPASSWD DBNAME > db.sql

Для конвертации движка таблис с MyISAM в InnoDB выполните следующую команду:

1
sed 's/ENGINE=MyISAM/ENGINE=InnoDB/g' db.sql > dbinnodb.sql

или обратно с InnoDB в MyISAM:

1
sed s/ENGINE=InnoDB/ENGINE=MyISAM/g db.sql > dbmyisam.sql

удаляем старую базу:

1
mysqladmin -u USER -p drop DBNAME

Создаем ее заново:

1
mysqladmin -u USER -p create DBNAME

и заливаем готовую с конвертированную базу:

1
mysql -u USER -p DBNAME < db.sql

Добавить комментарий

Ваш e-mail не будет опубликован. Обязательные поля помечены *