"Se um trabalhador quiser fazer bem o seu trabalho, ele deve primeiro afiar suas ferramentas." - Confúcio, "Os Analectos de Confúcio. Lu Linggong"
Primeira página > Programação > Como posso reduzir o tamanho do meu arquivo MySQL ibdata1?

Como posso reduzir o tamanho do meu arquivo MySQL ibdata1?

Publicado em 2024-12-21
Navegar:426

How Can I Reduce the Size of My MySQL ibdata1 File?

Limpando e reduzindo o arquivo ibdata1 no MySQL

Ao aproveitar o MySQL para análise de dados em R, os usuários podem encontrar um problema em que o tamanho do arquivo ibdata1 cresce excessivamente apesar de não ter dados armazenados. Este artigo aborda esse problema e fornece uma solução abrangente.

Causa do crescimento do arquivo ibdata1

O arquivo ibdata1 contém dados e índices de tabelas armazenados no espaço de tabela compartilhado. Por padrão, o MySQL armazena todas as tabelas neste único arquivo, fazendo com que ele se expanda continuamente. A exclusão de bancos de dados e tabelas apenas remove seus metadados do servidor, mas o arquivo em si permanece inalterado.

Solução: Habilite arquivo separado por tabela

Para evitar o ibdata1 arquivo cresça excessivamente, configure o MySQL para armazenar cada tabela e seus índices como arquivos separados. Agora isso está habilitado por padrão no MySQL 5.6.6 e versões posteriores. Se estiver usando uma versão anterior, adicione a seguinte linha ao arquivo my.cnf:

[mysqld]
innodb_file_per_table=1

Isso garantirá que bancos de dados e tabelas recém-criados usem arquivos ibd* separados em vez de ibdata1.

Recuperando espaço de ibdata1

Para libere o espaço ocupado por ibdata1, siga estas etapas:

  1. Despeje todos os bancos de dados, exceto mysql e performance_schema.
  2. Elimine todos os bancos de dados, exceto mysql e performance_schema.
  3. Pare o MySQL.
  4. Exclua os arquivos ibdata1 e ib_log.
  5. Inicie o MySQL.
  6. Restaure os bancos de dados despejados.

Este processo excluirá todas as tabelas e dados, portanto, certifique-se de ter feito backup das informações necessárias antes de continuar.

Nota sobre o esquema de informações

O information_schema é uma coleção de visualizações somente leitura, não de tabelas reais . Ele não ocupa nenhum arquivo no disco e é regenerado ao reiniciar o MySQL. Portanto, eliminá-lo não afeta o tamanho do arquivo ibdata1.

Tutorial mais recente Mais>

Isenção de responsabilidade: Todos os recursos fornecidos são parcialmente provenientes da Internet. Se houver qualquer violação de seus direitos autorais ou outros direitos e interesses, explique os motivos detalhados e forneça prova de direitos autorais ou direitos e interesses e envie-a para o e-mail: [email protected]. Nós cuidaremos disso para você o mais rápido possível.

Copyright© 2022 湘ICP备2022001581号-3