Le agradecería si alguien pudiera ayudarme a saber cuál es el comando adecuado en MySQL para consultar todas las bases de datos para tener el motor "MyISAM". Necesito convertir todos los DB y tablas de MyISAM a InnoDB.
Le agradecería si alguien pudiera ayudarme a saber cuál es el comando adecuado en MySQL para consultar todas las bases de datos para tener el motor "MyISAM". Necesito convertir todos los DB y tablas de MyISAM a InnoDB.
Respuestas:
A continuación se muestra la consulta para encontrar todas las tablas que tienen 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');
La consulta anterior enumerará todas las tablas que tienen MyISAM
Engine.
Para saber cómo convertir sus tablas MyISAM existentes a InnoDB, a
continuación se encuentra la consulta que devolverá las declaraciones ALTER para convertir las MyISAM
tablas existentes 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');
Puede ejecutar estas declaraciones para convertir motores.