Fevereiro 20, 2022

MySQL:: Re: Como reduzir um banco de dados MySQL

correto. Esta é uma limitação do arquivo de tablespace compartilhado do InnoDB. Seria uma operação muito cara para o servidor MySQL compactar o espaço usado no arquivo tablespace e reduzir o arquivo. Imagine se você tem um arquivo de tablespace de 100 GB e deseja executar uma reconstrução para compactá-lo. Normalmente, as reconstruções da tabela MySQL exigem que o armazenamento antigo e o novo existam simultaneamente no disco durante a operação.Portanto, o comportamento do InnoDB é deixar o espaço vazio e usá-lo para posterior inserção de novas versões de linha.
veja:
Bug # 1287http://bugs.mysql.com/bug.php?id=1287
Bug #1341http://bugs.mysql.com/bug.php?id=1341
uma solução para reduzir um espaço de tabela InnoDB compartilhado é:
1. Backup * todas * tabelas InnoDB com mysqldump.
2. Largue todas as mesas do InnoDB.
3. Exclua fisicamente o arquivo ibdata1 na interface do sistema de arquivos.
4. Reinicie o servidor MySQL, que recria um novo e pequeno arquivo de tablespace.
5. Restaure todas as suas tabelas InnoDB, o que expande o arquivo tablespace conforme necessário.
outra solução é usar a opção de armazenar tabelas InnoDB em um arquivo separado por tabela. Veja http://dev.mysql.com/doc/refman/5.0/en/multiple-tablespaces.html se você fizer isso, você deve ser capaz de usar otimizar tabela ou alterar tabela em cada tabela InnoDB que você deseja encolher. Isso é suposto para reconstruir o.arquivo ibd para a tabela individual.
Atenciosamente,
Bill K.

Deixe uma resposta

O seu endereço de email não será publicado.