3 votes

Comment puis-je vérifier à partir de la ligne de commande que toutes les tables de ma base de données sont des tables InnoDB ?

Comment puis-je vérifier rapidement à partir de la ligne de commande que toutes les tables de ma base de données sont des tables InnoDB ?

5voto

Adam Points 11

Compter les tables de chaque moteur de stockage

SELECT COUNT(1) table_count,engine 
FROM information_schema.tables 
WHERE table_schema NOT IN ('information_schema','mysql') 
GROUP BY engine;

ou pour vérifier le nombre de moteurs de stockage de chaque base de données

SELECT COUNT(1) table_count,table_schema,engine 
FROM information_schema.tables 
WHERE table_schema NOT IN ('information_schema','mysql') 
GROUP BY table_schema,engine;

ou obtenir un décompte de toutes les tables non-InnoDB ( devrait être 0 )

SELECT COUNT(1) table_count 
FROM information_schema.tables 
WHERE table_schema NOT IN ('information_schema','mysql') 
AND engine <> 'InnoDB';

Pour lister les noms de tables qui ne sont pas InnoDB et la base de données dans laquelle la table est stockée

SELECT table_schema,table_name 
FROM information_schema.tables 
WHERE table_schema NOT IN ('information_schema','mysql') 
AND engine <> 'InnoDB';

0voto

yanychar Points 562
mysql> USE xyz;
mysql> SHOW TABLE STATUS;

Il vous donne la liste de toutes les tables et de leurs moteurs.

SistemesEz.com

SystemesEZ est une communauté de sysadmins où vous pouvez résoudre vos problèmes et vos doutes. Vous pouvez consulter les questions des autres sysadmins, poser vos propres questions ou résoudre celles des autres.

Powered by:

X