Puis-je avoir un maître InnoDB et des esclaves MyISAM avec texte intégral pour la recherche?

8

Je voudrais utiliser InnoDB sur le maître, pour sa capacité transactionnelle, mais MyISAM sur les esclaves pour la capacité de recherche en texte intégral. Est-ce possible?

Neil McGuigan
la source

Réponses:

10

Absolument !!!

Exécutez simplement ALTER TABLE tblname ENGINE=MyISAM;toutes les tables de l'esclave dont vous souhaitez avoir l'index FULLTEXT. Ensuite, vous pouvez courir ALTER TABLE tblname ADD FULLTEXT (column[,column]);.

Veuillez faire très attention de ne pas exécuter DDL sur les tables du maître qui sont uniques à InnoDB et qui se répliqueront sur l'esclave.

J'ai suggéré d'utiliser un autre moteur de stockage sur un esclave dans mes précédents articles:

RolandoMySQLDBA
la source
Bonnes nouvelles! Tu es l'homme Rolando.
Neil McGuigan
1
Cela fonctionne très bien, j'ai un système syslog, où le maître recueille des données dans le moteur de stockage BLACKHOLE, qui décharge ensuite tous les efforts lourds vers les combinaisons esclaves de MyISAM et InnoDB. De cette façon, je peux mettre l'esclave en pause afin d'analyser les données, laissant le maître collecter et uniquement utiliser le stockage des journaux :)
Dave Rix