ฉันใช้แบบจำลองการอ่าน AWS RDS มันมีปัญหากับตารางเอนจินของ Magento อย่างต่อเนื่อง สำหรับการสำรองข้อมูลและการอ่าน RDS แบบจำลองชอบ InnoDB ฉันสามารถเปลี่ยนตารางทั้งหมดเป็น InnoDB ได้อย่างปลอดภัยหรือไม่
นอกจากนี้ฉันยังได้รับคำเตือนต่อไปนี้จาก AWS:
DB Instance magento-monin-prod-db มีตาราง MyISAM ที่ไม่ได้ย้ายไปยัง InnoDB ตารางเหล่านี้สามารถส่งผลกระทบต่อความสามารถในการกู้คืนข้อมูล ณ เวลาที่กำหนด พิจารณาการแปลงตารางเหล่านี้เป็น InnoDB โปรดดูที่http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appendix.MySQL.CommonDBATasks.html#MySQL.CommonDBATasks.Tables
คำตอบที่น่าเชื่อถือ
ยังคงสนใจในข้อเสนอแนะ ฉันจะเพิ่มนี่เป็นคำตอบหากฉันไม่พบปัญหาใด ๆ ภายใน 24 ชั่วโมงข้างหน้า ขั้นตอนที่ฉันทำด้านล่างดูเหมือนจะปลอดภัยจนถึงตอนนี้ ข้อกังวลที่ใหญ่ที่สุดของฉันคือตาราง Memory Engine ของ 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 แต่อย่างที่ฉันพูดไว้ก่อนหน้านี้มีเพียงตารางหลักสองสามอันในอินสแตนซ์ของฉันที่ต้องได้รับการแก้ไข