Mover dados de um espaço de tabela compartilhado para um espaço de tabela individual nos DBMSs MySQL e MariaDB

Expandir tudo | Recolher tudo

Em um DBMS MySQL e MariaDB, é possível armazenar dados das seguintes formas:

Usar um espaço de tabela compartilhado aumenta o risco de fragmentação. Como não é possível executar uma operação SHRINK, um arquivo em um espaço de tabela compartilhado pode ocupar cerca de 90% do espaço em disco. Isso prejudica o desempenho do subsistema de disco. Portanto, é útil optar por um espaço de tabela individual.

Este artigo descreve como mover dados de um espaço de tabela compartilhado para um espaço de tabela individual. Se os DBMSs MySQL ou MariaDB também forem utilizados por outros aplicativos, será necessário mover os bancos de dados desses aplicativos para o espaço de tabela individual.

Recomendamos que o procedimento seja executado somente se você estiver utilizando DBMSs MySQL ou MariaDB para o Servidor de Administração.
Mover dados de um espaço de tabela compartilhado para um espaço de tabela individual pode aumentar a carga no subsistema de disco.

Pré-requisitos

Antes de começar, certifique-se de que:

O espaço em disco necessário corresponde a 150% do tamanho total atual dos bancos de dados (tamanho atual do arquivo ibdata1).

Processar

Para mover dados de um espaço de tabela compartilhado para um espaço de tabela individual:

  1. Pare o serviço do Servidor de Administração do Kaspersky Security Center e outros aplicativos por meio da instância do DBMS para a qual você deseja executar este procedimento.
  2. Dependendo da versão do DBMS, faça login no seu DBMS como superusuário e então, em qualquer aplicativo conveniente, execute o script fix_tablespace.sql.

    É possível visualizar os scripts fix_tablespace.sql clicando nestes links:

    Visualizar o script para MySQL 5.7 e MariaDB 10.1+

    Visualizar o script para MySQL 8.0+

    A execução do script não deve ser interrompida.
    Se nenhum erro de DBMS ocorreu, mas você interrompeu a execução do script, execute o script novamente ou pare de executar as etapas deste procedimento, reinicie o serviço DBMS e restaure os dados do Servidor de Administração a partir do backup.

  3. Na seção [mysqld] do arquivo my.cnf, defina o parâmetro innodb_file_per_table como 1.
  4. Reinicie o serviço MySQL ou MariaDB.
  5. Reinicie o serviço do Servidor de Administração do Kaspersky Security Center.

Os dados serão movidos de um espaço de tabela compartilhado para um espaço de tabela individual.

Topo da página