Конвертация типов движка таблиц 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
|