MySQL: InnoDB: ERRO: a idade do último ponto de verificação é X, o que excede a capacidade do grupo de log Y?

10

Em um ambiente MySQL de produção, a seguinte mensagem de erro é gravada em /var/log/mysql/error.log a cada quatro minutos:

110723 18:36:02  InnoDB: ERROR: the age of the last checkpoint is 9433856,
InnoDB: which exceeds the log group capacity 9433498.
InnoDB: If you are using big BLOB or TEXT rows, you must set the
InnoDB: combined size of log files at least 10 times bigger than the
InnoDB: largest such row.

Não sei como analisar a mensagem de erro.

Mais especificamente, não entendo como a idade do ponto de verificação está relacionada à "capacidade do grupo de log" e como isso se relaciona ao tamanho das linhas com grandes colunas BLOB / TEXT .

Basicamente, estou perdido em como solucionar problemas e continuar corrigindo esse problema. Minhas perguntas são:

  • O que significa a mensagem de erro?
  • O que estou fazendo de errado?
  • Como posso corrigir isso?
por knorv 23.07.2011 / 21:44

1 resposta

11

A mensagem de erro significa que você está tentando inserir muitos dados no InnoDB muito rapidamente, e o log do InnoDB está sendo preenchido antes que os dados possam ser liberados nos arquivos de dados principais.

Para resolver isso, você precisa parar o MySQL de forma limpa (muito importante), apagar os arquivos de log existentes do InnoDB (provavelmente lb_logfile* no diretório de dados do MySQL, a menos que você os tenha movido), então ajuste o innodb_log_file_size para atender às suas necessidades e, em seguida, iniciar o MySQL novamente. Este artigo do blog de desempenho do MySQL pode ser instrutivo.

    
por 24.07.2011 / 01:40

Tags