Tôi có một câu hỏi liên quan đến sao lưu logic của cơ sở dữ liệu MySQL sử dụng cả MyISAM và InnoDB.
Các mysqldump
tiện ích hỗ trợ hai tùy chọn sau đây:
--single-giao dịch - Tạo một ảnh chụp nhanh nhất quán bằng cách bỏ tất cả các bảng trong một giao dịch. CHỈ hoạt động cho các bảng được lưu trữ trong các công cụ lưu trữ hỗ trợ đa nhiệm (hiện tại chỉ có InnoDB mới thực hiện) [...] Tùy chọn tự động tắt - các bảng khóa.
-x, --lock-all-bảng - Khóa tất cả các bảng trên tất cả các cơ sở dữ liệu. Điều này đạt được bằng cách lấy khóa đọc toàn cầu trong suốt thời gian của toàn bộ bãi chứa. Tự động tắt --single-giao dịch và --lock-bảng tắt.
Đối với InnoDB, chúng tôi cần
--single-transaction
đối với MyISAM, chúng ta cần - bảng khóa hoặc khóa tất cả các bảng (trong trường hợp chúng ta cần tính nhất quán của cơ sở dữ liệu chéo).
Vậy, làm thế nào một cơ sở dữ liệu lai (cơ sở dữ liệu sử dụng cả hai công cụ MyISAM và InnoDB) được sao lưu?
Biên tập:
Chỉ cần làm rõ, câu hỏi có thể được cải cách như thế này:
Các tùy chọn bảng khóa [[all-] có đảm bảo sao lưu nhất quán các bảng InnoDB không?