This question is probably for MySQL experts and admins that have done this sort of migration before.
I have 17 MySQL tables, triggers and stored procedures on MyISAM storage engine. These tables have around 8 MiB data combined. Since I am moving the application and database to Amazon EC2 and RDS I was wondering what are the key considerations when migrating tables from MyISAM to InnoDB.
The steps that I will be going through are pretty much as follows.
- System Tables on AWS RDS has to be on MyISAM so no contest on that.
- Create 17 tables with the same structure as they exist on MyISAM and build them in RDS InnoDB.
- Export Data from the MyISAM tables and import them in to the new tables created in RDS on InnoDB.
- Create the Triggers, Stored Procedures and Functions in the InnoDB database.
When I ask about key considerations of a migration like this across MySQL storage engines I want to know from the point of view of experienced admins if something explicitly needs to be taken care of at the DB level during the data migration etc so that the DB behaves the way it should and there are no glitches. I am worried mainly because I read that InnoDB and MyISAM's way of buffering, I/O, CPU and Memory usage are different.
I will happily accept your 2 cents on this process.
Thanks.
*Update*
innodb_buffer_pool_size - {DBInstanceClassMemory*3/4} This is what it is set to right now.
I am looking for other parameters as well. Let me know if you want to see values set for any other specific parameters.