Como posso verificar na linha de comando que todas as tabelas no meu banco de dados são InnoDB?

3

Como posso verificar rapidamente na linha de comando que todas as tabelas do meu banco de dados são InnoDB?

    
por markdorison 15.02.2011 / 22:46

2 respostas

5

Contar tabelas de cada mecanismo de armazenamento

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

ou para verificar a contagem de mecanismos de armazenamento de cada banco de dados

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 obter uma contagem de todas as tabelas não-InnoDB (deve ser 0)

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

Para listar nomes de tabelas que não são InnoDB e qual banco de dados é a tabela armazenada

SELECT table_schema,table_name 
FROM information_schema.tables 
WHERE table_schema NOT IN ('information_schema','mysql') 
AND engine <> 'InnoDB';
    
por 15.02.2011 / 22:54
0
mysql> USE xyz;
mysql> SHOW TABLE STATUS;

Ele fornece a lista de todas as tabelas e seus mecanismos.

    
por 17.02.2011 / 17:53