Eu apreciaria se alguém pudesse me ajudar sobre qual é o comando apropriado no MySQL para consultar todos os bancos de dados por terem o mecanismo "MyISAM". Preciso converter todos os bancos de dados e tabelas do MyISAM para o InnoDB.
Eu apreciaria se alguém pudesse me ajudar sobre qual é o comando apropriado no MySQL para consultar todos os bancos de dados por terem o mecanismo "MyISAM". Preciso converter todos os bancos de dados e tabelas do MyISAM para o InnoDB.
Respostas:
Abaixo está a consulta para encontrar todas as tabelas que possuem MyISAM
mecanismo
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');
A Consulta acima listará todas as tabelas com o MyISAM
Mecanismo.
Para saber como converter suas tabelas MyISAM existentes para o InnoDB
Abaixo está a consulta que retornará as instruções ALTER para as quais as MyISAM
tabelas existentes serão convertidas 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');
Você pode executar essas instruções para converter mecanismos.