Tôi sẽ đánh giá cao nếu có ai có thể giúp tôi về lệnh nào phù hợp trong MySQL để truy vấn tất cả cơ sở dữ liệu để có công cụ "MyISAM". Tôi cần chuyển đổi tất cả các bảng DB & từ MyISAM sang InnoDB.
Tôi sẽ đánh giá cao nếu có ai có thể giúp tôi về lệnh nào phù hợp trong MySQL để truy vấn tất cả cơ sở dữ liệu để có công cụ "MyISAM". Tôi cần chuyển đổi tất cả các bảng DB & từ MyISAM sang InnoDB.
Câu trả lời:
Dưới đây là Truy vấn để tìm tất cả các bảng có MyISAM
Engine
SELECT TABLE_SCHEMA as DbName ,TABLE_NAME as TableName ,ENGINE as Engine FROM information_schema.TABLES WHERE ENGINE='MyISAM' AND TABLE_SCHEMA NOT IN('mysql','information_schema','performance_schema');
Trên truy vấn sẽ liệt kê tất cả các bảng có MyISAM
Engine.
Để biết cách chuyển đổi các bảng MyISAM hiện tại của bạn sang InnoDB
Dưới đây là Truy vấn sẽ trả về Báo cáo ALTER để chuyển đổi các MyISAM
Bảng hiện có sang InnoDB
.
SELECT CONCAT('ALTER TABLE `', TABLE_SCHEMA,'`.`',TABLE_NAME, '` ENGINE = InnoDB;') FROM information_schema.TABLES WHERE ENGINE='MyISAM' AND TABLE_SCHEMA NOT IN('mysql','information_schema','performance_schema');
Bạn có thể thực hiện các câu lệnh này để chuyển đổi động cơ.