O InnoDB armazena todas as tabelas em um arquivo grande ibdata1
.
Depois de soltar uma tabela grande, o arquivo mantém seu tamanho, independentemente do tamanho da tabela. Como posso reduzir esse arquivo sem precisar despejar e reimportar todo o banco de dados (que possui várias centenas de GB no total)?
Eu acho que o motivo é porque você ainda é capaz de reverter a queda. No meu caso, não preciso.
fonte
O InnoDB armazena apenas todas as suas tabelas do InnoDB no ibdata1 se você não usar a seguinte configuração no arquivo de padrões my.cnf:
DROP TABLE (e DROP DATABASE) não podem ser revertidos.
Essa não é a razão pela qual você não pode reduzir o ibdata1.
Esta é uma explicação abreviada, mas ibdata1 contém informações internas do InnoDB, além dos dados da tabela. Pelo que entendi, para reduzi-lo seria necessário desfragmentá-lo, o que não é uma operação suportada.
fonte