8

I'd like to use InnoDB on the master, for its transactional ability, but MyISAM on the slaves for the full-text search ability. Is this possible?

Neil McGuigan
  • 7,653
  • 3
  • 36
  • 52

1 Answers1

10

Absolutely !!!

Just run ALTER TABLE tblname ENGINE=MyISAM; against all tables on the Slave that you want to have the FULLTEXT index. Afterwards, you can run ALTER TABLE tblname ADD FULLTEXT (column[,column]);.

Please be very careful not to run DDL against those tables in the Master that are unique to InnoDB that will replicate to the Slave.

I have suggested using a different Storage Engine on a Slave in my past posts:

RolandoMySQLDBA
  • 171,728
  • 30
  • 293
  • 486
  • Good news! You are the man Rolando. – Neil McGuigan Aug 14 '12 at 02:59
  • 1
    It works great, I have a syslog system, where the master collects data into the BLACKHOLE storage engine, which then off-loads all the heavy lifting to the slave running combinations of MyISAM and InnoDB. This way I can pause the slave in order to analyse the data, leaving the master collecting and only using log storage :) – Dave Rix Aug 14 '12 at 08:07