You could convert all the tables on the slave to MyISAM after all the table 
creates are done on the slave. Here are the six(6) steps to do this:

Step 1 : Make sure binary logging is turned off on the slave

Step 2: Copy the data over to the slave

mysqldump -h<MasterIP> -u... -p... <givenDBName> --routines --triggers | mysql 
-h<SlaveIP> -u... -p...

Step 3: Login the slave machine, and run this command

mysql -h<SlaveIP> -u... -p... --skip-column-names -e"SELECT CONCAT('ALTER TABLE 
`',table_schema,'`.`',table_name,'` ENGINE=MyISAM;') FROM 
information_schema.tables WHERE table_schema = '<givenDBName>'" > 
MakeAllTablesMyISAM.sql

This generates a script using the ALTER TABLE ... ENGINE command on every table.

Step 4: Run the MakeAllTablesMyISAM.sql script on the slave.

mysql -h<SlaveIP> -u... -p... < MakeAllTablesMyISAM.sql

Step 5: Turn on binary logging

Step 6: Start the slave

That's all. Give it a try. Let me know if this helped.

-----Original Message-----
From: [EMAIL PROTECTED] [mailto:[EMAIL PROTECTED] On Behalf Of Baron Schwartz
Sent: Thursday, December 06, 2007 11:09 AM
To: Gary W. Smith
Cc: mysql@lists.mysql.com
Subject: Re: Replication and changing engine type

Hi Gary,

On Dec 6, 2007 10:56 AM, Gary W. Smith <[EMAIL PROTECTED]> wrote:
> We have a master/master environment that has tables in innodb.  We want to 
> setup a slave that will be used for reporting and some other stuff as well.  
> We want to use MyISAM as the engine on the slave'd server.
>
> Since all of the table creations are also part of the replication, is it 
> possible to override the table creates and force them to use a different 
> engine?  I have read a few articles on implementing the blackhole engine (for 
> intermediate replication) which would be useful for us when we setup the 
> replication to multiple sites, but this leads to the same question of how to 
> change the engine (which isn't explained in the sample articles I've read).

You can set the default storage engine on each of the servers and then
don't declare it explicitly in any CREATE TABLE statements.

--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]


--
MySQL General Mailing List
For list archives: http://lists.mysql.com/mysql
To unsubscribe:    http://lists.mysql.com/[EMAIL PROTECTED]

Reply via email to