【发布时间】:2011-09-07 07:30:50
【问题描述】:
这个问题可能是针对以前做过这种迁移的 MySQL 专家和管理员的。
我在 MyISAM 存储引擎上有 17 个 MySQL 表、触发器和存储过程。这些表总共有大约 8 MiB 数据。由于我将应用程序和数据库迁移到 Amazon EC2 和 RDS,我想知道将表从 MyISAM 迁移到 InnoDB 时的关键考虑因素是什么。
我将要经历的步骤大致如下。
- AWS RDS 上的系统表必须在 MyISAM 上,所以没有竞争。
- 创建 17 个具有与 MyISAM 上相同结构的表,并在 RDS InnoDB 中构建它们。
- 从 MyISAM 表中导出数据并将它们导入到在 InnoDB 上的 RDS 中创建的新表中。
- 在 InnoDB 数据库中创建触发器、存储过程和函数。
当我询问跨 MySQL 存储引擎进行此类迁移的关键注意事项时,我想从经验丰富的管理员的角度了解在数据迁移等期间是否需要在数据库级别明确处理某些事情,以便数据库按照应有的方式运行,并且没有故障。我担心主要是因为我读到 InnoDB 和 MyISAM 的缓冲方式、I/O、CPU 和内存使用不同。
我很乐意在这个过程中接受你的 2 美分。
谢谢。
*更新*
innodb_buffer_pool_size - {DBInstanceClassMemory*3/4} 这是它现在设置的值。
我也在寻找其他参数。如果您想查看为任何其他特定参数设置的值,请告诉我。
【问题讨论】: