Estoy usando la réplica de lectura de AWS RDS. Constantemente tiene problemas con las tablas del motor de memoria de Magento. Para las réplicas de copia de seguridad y lectura, RDS ama a InnoDB. ¿Puedo cambiar de forma segura todas las tablas a InnoDB?
Además, recibo la siguiente advertencia de AWS:
La instancia de base de datos magento-monin-prod-db contiene tablas MyISAM que no se han migrado a InnoDB. Estas tablas pueden afectar su capacidad para realizar restauraciones de punto en el tiempo. Considere convertir estas tablas a InnoDB. Consulte http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#MySQL.CommonDBATasks.Tables
Respuesta plausible
Todavía interesado en comentarios. Agregaré esto como respuesta si no encuentro ningún problema en las próximas 24 horas. Los pasos que tomé a continuación parecen ser seguros, hasta ahora. Mi mayor preocupación eran las tablas de Memory Engine de Magento (tablas que terminaban en_tmp) y el impacto que podría tener en la indexación.
Aquí esta lo que hice:
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE (ENGINE = 'Memory' OR ENGINE='MyIsam') AND TABLE_SCHEMA='magento_db'
- Para mí, esto devolvió principalmente tablas de índice temporales y tablas de módulos de magento, por lo que no hay muchas tablas fundamentales críticas de las que preocuparse y pocas tablas suficientes para poder ejecutar fácilmente otra tabla alternativa si las cosas golpean al ventilador.
Para cada tabla devuelta ejecuté:
Alter table {table-name} ENGINE=InnoDB;
Estaría nervioso probar esto si ninguna de sus tablas es InnoDB. Pero, como dije antes, solo había unas pocas tablas principales en mi instancia que debían modificarse.