J'utilise AWS RDS Read Replica. Il a constamment des problèmes avec les tables du moteur de mémoire de Magento. Pour les répliques de sauvegarde et de lecture, RDS adore InnoDB. Puis-je changer toutes les tables en toute sécurité en InnoDB?
De plus, je reçois l'avertissement suivant d'AWS:
L'instance DB magento-monin-prod-db contient des tables MyISAM qui n'ont pas été migrées vers InnoDB. Ces tableaux peuvent affecter votre capacité à effectuer des restaurations ponctuelles. Pensez à convertir ces tables en InnoDB. Veuillez vous référer à http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#MySQL.CommonDBATasks.Tables
Réponse plausible
Toujours intéressé par les commentaires. J'ajouterai ceci comme réponse si je ne trouve aucun problème dans les prochaines 24 heures. Jusqu'à présent, les mesures que j'ai prises semblent être sûres. Ma plus grande préoccupation était les tables Memory Engine de Magento (tables se terminant par_tmp) et l'impact que cela pourrait avoir sur l'indexation.
Voici ce que j'ai fait:
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE (ENGINE = 'Memory' OR ENGINE='MyIsam') AND TABLE_SCHEMA='magento_db'
- Pour moi, cela a renvoyé principalement des tables d'index temporaires et des tables de modules magento, donc pas beaucoup de tables de base critiques à craindre et peu de tables que je peux facilement exécuter une autre table alter si des trucs frappent le ventilateur.
Pour chaque table retournée, j'ai exécuté:
Alter table {table-name} ENGINE=InnoDB;
Je serais nerveux d'essayer ceci si aucune de vos tables n'est InnoDB. Mais, comme je l'ai déjà dit, il n'y avait que quelques tables de base sur mon instance qui devaient être modifiées.