AWS RDS 읽기 전용 복제본을 사용하고 있습니다. Magento의 메모리 엔진 테이블에 지속적으로 문제가 있습니다. 백업 및 읽기 전용 복제본의 경우 RDS는 InnoDB를 좋아합니다. 모든 테이블을 InnoDB로 안전하게 변경할 수 있습니까?
또한 AWS에서 다음과 같은 경고가 나타납니다.
DB 인스턴스 magento-monin-prod-db에는 InnoDB로 마이그레이션되지 않은 MyISAM 테이블이 포함되어 있습니다. 이 테이블은 특정 시점 복원을 수행하는 데 영향을 줄 수 있습니다. 이 테이블을 InnoDB로 변환 해보십시오. http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#MySQL.CommonDBATasks.Tables 를 참조하십시오.
그럴듯한 대답
여전히 의견에 관심이 있습니다. 다음 24 시간 내에 문제가 발견되지 않으면 답변으로 추가하겠습니다. 아래에서 취한 단계는 지금까지 안전합니다. 가장 큰 관심사는 Magento의 메모리 엔진 테이블 (in_tmp로 끝나는 테이블)과 인덱싱에 미치는 영향이었습니다.
여기 내가 한 일이 있습니다.
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE (ENGINE = 'Memory' OR ENGINE='MyIsam') AND TABLE_SCHEMA='magento_db'
- 나에게 이것은 대부분 임시 인덱스 테이블과 마 젠토 모듈 테이블을 반환 했기 때문에 걱정할 중요한 코어 테이블이 많지 않고 물건이 팬에 부딪 칠 때 다른 테이블을 쉽게 실행할 수있는 테이블이 거의 없습니다.
반환 된 각 테이블에 대해 다음을 실행했습니다.
Alter table {table-name} ENGINE=InnoDB;
InnoDB가 아닌 테이블이 없다면 이것을 시도하는 것이 긴장됩니다. 그러나 앞에서 말했듯이 내 인스턴스에는 수정해야 할 핵심 테이블이 거의 없었습니다.