J'apprécierais que quelqu'un puisse m'aider sur la commande appropriée dans MySQL pour interroger toutes les bases de données pour avoir le moteur "MyISAM". J'ai besoin de convertir toutes les bases de données et les tables de MyISAM en InnoDB.
J'apprécierais que quelqu'un puisse m'aider sur la commande appropriée dans MySQL pour interroger toutes les bases de données pour avoir le moteur "MyISAM". J'ai besoin de convertir toutes les bases de données et les tables de MyISAM en InnoDB.
Réponses:
Ci-dessous est la requête pour trouver toutes les tables qui ont le MyISAM
moteur
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');
Ci-dessus, Query listera toutes les tables ayant MyISAM
Engine.
Pour savoir comment convertir vos tables MyISAM existantes en InnoDB,
voici la requête qui renverra des instructions ALTER pour convertir les MyISAM
tables existantes 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');
Vous pouvez exécuter ces instructions pour convertir des moteurs.