Używam repliki odczytu AWS RDS. Ciągle ma problemy ze stołami silnika pamięci Magento. Do tworzenia kopii zapasowych i odczytu replik RDS uwielbia InnoDB. Czy mogę bezpiecznie zmienić wszystkie tabele na InnoDB?
Ponadto otrzymuję następujące ostrzeżenie z AWS:
Instancja DB magento-monin-prod-db zawiera tabele MyISAM, które nie zostały zmigrowane do InnoDB. Te tabele mogą mieć wpływ na twoją zdolność do przywracania punktu w czasie. Rozważ konwersję tych tabel do InnoDB. Proszę zapoznać się z http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#MySQL.CommonDBATasks.Tables
Możliwa odpowiedź
Nadal jestem zainteresowany opiniami. Dodam to jako odpowiedź, jeśli nie znajdę żadnych problemów w ciągu najbliższych 24 godzin. Dotychczasowe kroki, które podjąłem, wydają się być bezpieczne. Moją największą troską były tabele Magento Memory Engine (tabele kończące się na in_tmp) i wpływ, jaki może mieć na indeksowanie.
Oto co zrobiłem:
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE (ENGINE = 'Memory' OR ENGINE='MyIsam') AND TABLE_SCHEMA='magento_db'
- Dla mnie zwróciło to głównie tymczasowe tabele indeksu i tabele modułów magento, więc nie ma zbyt wielu krytycznych tabel rdzenia, o które należy się martwić, i mało tabel, które mogę łatwo wykonać inną tabelę zmian, jeśli coś trafi w wentylator.
Dla każdej zwróconej tabeli wykonałem:
Alter table {table-name} ENGINE=InnoDB;
Byłbym zdenerwowany, aby spróbować, jeśli żaden z twoich stołów nie jest InnoDB. Ale, jak powiedziałem wcześniej, w mojej instancji było tylko kilka podstawowych tabel, które wymagały modyfikacji.