Случился неприятный затык. При конвертировании типа таблицы из MYISAM в INNODB, мускул стал ругаться. INNODB не поддерживает такую индексацию. Поэтому, чтобы все-таки конвертировать табличку в INNODB надо индексы эти удалить.
Изначально у меня на одном из форумов стоял fulltext поиск, изменив его на стандартный, я думал, что проблема уйдет сама собой. Ожидания мои не оправдались и решено было выпилить индексы вручную.
Делал я все действия в консоли, хотя тоже самое можно провернуть через phpmyadmin.
Итак, погнали:
$ mysql -u root -p Enter password:
Я залез сразу под root'ом. В целях повышения безопасности, логинитесь на сервер mysql под хозяином конкретной БД.
Далее смотрим список бд. Я например, чтобы не ошибиться в выборе базы вывожу его.
mysql> show databases; +--------------------+ | Database | +--------------------+ | information_schema | | ftp | | mail | | main | | mybb | | mysql | | performance_schema | | pmadb | | webmail | +--------------------+ 9 rows in set (0.01 sec)
Таблица mybb. Используем ее.
mysql> use mybb; Reading table information for completion of table and column names You can turn off this feature to get a quicker startup with -A Database changed
Теперь смотрим с какими параметрами была создана база, где используется fulltext:
mysql> show create table mybb_posts; ........................ | mybb_posts | CREATE TABLE `mybb_posts` ( ........................ PRIMARY KEY (`pid`), KEY `tid` (`tid`,`uid`), KEY `uid` (`uid`), KEY `visible` (`visible`), KEY `dateline` (`dateline`), KEY `longipaddress` (`longipaddress`), FULLTEXT KEY `message` (`message`) ) ENGINE=MyISAM AUTO_INCREMENT=5477 DEFAULT CHARSET=utf8 | 1 row in set (0.00 sec)
Мне нужен FULLTEXT KEY `message` (`message`). Избавимся от него.
mysql> alter table mybb_posts drop index message; Query OK, 5427 rows affected (0.16 sec) Records: 5427 Duplicates: 0 Warnings: 0
После чистки, табличка конвертировалась в INNODB без проблем.