Also entschied ich mich, YARPP (das „yet another related posts plugin“ für WordPress) zu deinstallieren und meine wp_posts- Tabelle aus MyISAM wieder in InnoDB zu konvertieren.
Als ich die Konvertierung von MyISAM -> InnoDB durchführen wollte, erhielt ich natürlich einen Fehler von myPhpAdmin:
The used table type doesn’t support FULLTEXT indexes
Nicht unerwartet… Versionen von MySQL < 5.6.4 unterstützen FULLTEXT in InnoDB nicht, daher wusste ich, dass ich die FULLTEXT-Indizes löschen musste, wusste aber nicht so recht, wie. Und es dauerte eine Weile, um die Lösung zu finden. Aber hier ist sie:
1) Führen Sie die folgende Abfrage aus, um eine Liste Ihrer Tabellen zu erhalten:
SHOW CREATE TABLE wp_posts
(wenn Sie nicht das standardmäßige WordPress-Tabellenpräfix verwendet haben oder dies nicht für WordPress tun, ersetzen Sie wp_posts durch… mit welcher Tabelle auch immer Sie ein Problem haben)
2) Es zeigt Ihnen eine Liste der Tabellen. Sie suchen nach so etwas:
Sie können den FULLTEXT-Teil sehen – die Namen der Indexschlüssel sind in diesem Fall yarpp_title und yarpp_content.
3) Um nun diese FULLTEXT-Schlüssel fallen zu lassen, folgen die folgenden Abfragen:
ALTER TABLE wp_posts DROP INDEX yarpp_title;
ALTER TABLE wp_posts DROP INDEX yarpp_content;
Ich habe sie der Reihe nach gemacht. Wenn Sie nicht zu 100% das gleiche Boot wie ich haben, ersetzen Sie wp_posts durch Ihren Tabellennamen und yarpp_title / yarpp_content durch das, was in Ihren Ergebnissen auftaucht.
4) Aufregend!
Angenommen, Sie haben sich um alle FULLTEXT-Schlüssel gekümmert, dann sollte das Folgende funktionieren, um die Tabelle jetzt in InnoDB zu konvertieren:
ALTER TABLE wp_posts ENGINE=InnoDB;
(wieder einmal angenommen, es ist die wp_posts-Tabelle, die Sie konvertieren – falls nicht, verwenden Sie den Namen der Tabelle, die Sie konvertieren)
…und, fertig!
Ich musste den Speichertyp meiner IP.board-Datenbank von MyISAM auf InnoDB ändern und diese Methode funktionierte für mich.