Обязательно сделайте резервную копию БД перед дальнейшими действиями. В частности это касается администраторов форума MyBB(MyBulletinBoard).
Случился неприятный затык. При конвертировании типа таблицы из 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 без проблем.