Как я могу быстро проверить из командной строки, что все таблицы в моей БД являются InnoDB?
Подсчет таблиц из каждого механизма хранения
SELECT COUNT(1) table_count,engine
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
GROUP BY engine;
или чтобы проверить количество механизмов хранения каждой базы данных
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;
или подсчитайте все таблицы, не относящиеся к InnoDB (должно быть 0)
SELECT COUNT(1) table_count
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
AND engine <> 'InnoDB';
Чтобы перечислить имена таблиц, которые не являются InnoDB, и какую базу данных таблица хранится
SELECT table_schema,table_name
FROM information_schema.tables
WHERE table_schema NOT IN ('information_schema','mysql')
AND engine <> 'InnoDB';
mysql> USE xyz;
mysql> SHOW TABLE STATUS;
Он дает вам список всех таблиц и их движков.