Existe uma maneira de carregar grandes BLOBs sem reiniciar o MySQL?

1

Estou tentando mover os últimos bancos de dados de um servidor mysql mais antigo, mas um em particular me deixou perplexo:

ERROR 1118 (42000) at line 595: The size of BLOB/TEXT data inserted in one transaction is greater than 10% of redo log size. Increase the redo log size using innodb_log_file_size.

O servidor que está sendo migrado está executando 5.6.29-76.2-log Percona Server , que parece ter uma solução alternativa para um bug de consistência transacional com grandes BLOBs.

Como modificar o innodb_log_file_size requer uma reinicialização do serviço, existe uma maneira de importar um banco de dados com transações desabilitadas ou algo assim? O SQL * Loader tem várias opções para desabilitar transações em uma importação, talvez haja uma ferramenta semelhante & configuração para o MySQL?

    
por jldugger 01.02.2017 / 00:35

1 resposta

1

Não há solução alternativa aqui. Você precisará reiniciar.

Tudo no InnoDB é feito em uma transação. Às vezes, é implícito (quando a confirmação automática é ativada, cada instrução executada - tecnicamente - inicia e confirma sua própria transação), mas ainda é uma transação no sentido relevante.

O redo log é um componente crítico e só pode ser redimensionado com um reinício.

    
por 01.02.2017 / 04:18