Tôi đang sử dụng AWS RDS Đọc bản sao. Nó liên tục có vấn đề với các bảng công cụ Bộ nhớ của Magento. Để sao lưu và đọc bản sao RDS yêu thích InnoDB. Tôi có thể thay đổi tất cả các bảng thành InnoDB một cách an toàn không?
Ngoài ra, tôi nhận được cảnh báo sau từ AWS:
DB Instance magento-monin-prod-db chứa các bảng MyISAM chưa được di chuyển sang InnoDB. Các bảng này có thể tác động đến khả năng của bạn để thực hiện khôi phục tại thời điểm. Xem xét chuyển đổi các bảng này sang InnoDB. Vui lòng tham khảo http://docs.aws.amazon.com/AmazonRDS/latest/UserGuide/Appcill.MyQuery.CommonDBAT task.html # MyQuery.CommonDBAT task.Tables
Câu trả lời hợp lý
Vẫn quan tâm đến thông tin phản hồi. Tôi sẽ thêm câu này dưới dạng câu trả lời nếu tôi không tìm thấy bất kỳ vấn đề nào trong vòng 24 giờ tới. Các bước tôi thực hiện dưới đây có vẻ an toàn, cho đến nay. Mối quan tâm lớn nhất của tôi là các bảng Công cụ bộ nhớ của Magento (các bảng kết thúc bằng in_tmp) và tác động của nó đối với việc lập chỉ mục.
Đây là những gì tôi đã làm:
SELECT * FROM INFORMATION_SCHEMA.TABLES WHERE (ENGINE = 'Memory' OR ENGINE='MyIsam') AND TABLE_SCHEMA='magento_db'
- Đối với tôi, điều này trả về hầu hết các bảng chỉ mục tạm thời và các bảng mô-đun magento, vì vậy không có nhiều bảng cốt lõi quan trọng và một vài bảng đủ để tôi có thể dễ dàng thực hiện một bảng thay đổi khác nếu công cụ chạm vào quạt.
Đối với mỗi bảng được trả về, tôi thực hiện:
Alter table {table-name} ENGINE=InnoDB;
Tôi rất lo lắng khi thử điều này nếu không có bảng nào của bạn là InnoDB. Nhưng, như tôi đã nói trước đây, chỉ có một vài bảng cốt lõi trong trường hợp của tôi cần được sửa đổi.