desde que você parece ter arquivo innodb monolítico - você não pode encolher.
se você puder pagar o tempo de inatividade, faça o seguinte:
- pára o mysql.
- faça um backup baseado em arquivo de todos os arquivos / diretórios do diretório de dados mysql [incluindo os arquivos de log ibdata e innodb].
- inicie o mysql, execute mysqldump -uroot -ppass -A > file.sql
- pára o mysql novamente
- reconfigure o mysql para usar arquivo por tabela para innodb [add to my.cnf innodb_file_per_table]
- remova o diretório innodb ibdata / log files / com seu banco de dados
- inicie o mysql e recupere os dados do seu backup do ponto # 3 - cat arquivo.sql | mysql -uroot -ppass
no futuro, você será capaz apenas de fazer backup & solte uma única tabela e restaure-a depois - graças à opção de arquivo por tabela.
após remover os dados (passo 6) você precisa inicializar com "mysqld --skip-grant-tables", caso contrário o mysqld não inicializará porque não há tabelas de permissões.