MySQL: InnoDB: ERRORE: l'età dell'ultimo checkpoint è X, che supera la capacità del gruppo di log Y?


10

In un ambiente MySQL di produzione, /var/log/mysql/error.logogni quarto minuto viene scritto il seguente messaggio di errore :

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.

Non sono sicuro di come analizzare il messaggio di errore.

Più specificamente, non capisco come l'età del checkpoint si riferisca alla "capacità del gruppo di log" e come ciò a sua volta si riferisca alla dimensione delle righe con grandi BLOB/ TEXTcolonne.

Fondamentalmente mi sono perso su come risolvere e continuare a risolvere questo problema. Le mie domande sono:

  • Cosa significa il messaggio di errore?
  • Che cosa sto facendo di sbagliato?
  • Come posso ripararlo?

Risposte:


11

Il messaggio di errore indica che stai tentando di inserire troppi dati in InnoDB troppo rapidamente e che il registro InnoDB si sta riempiendo prima che i dati possano essere scaricati nei file di dati principali.

Per risolverlo, è necessario arrestare MySQL in modo pulito (molto importante), eliminare i file di registro InnoDB esistenti (probabilmente lb_logfile*nella directory dei dati MySQL, a meno che non siano stati spostati), quindi regolare il sistema innodb_log_file_sizein base alle proprie esigenze, quindi riavviare MySQL . Questo articolo dal blog sulle prestazioni di MySQL potrebbe essere istruttivo.


1
Quali sono le conseguenze della semplice ignorazione dei messaggi di errore?
Matt Healy,

1
Stai scherzando vero? Stai seriamente pensando di ignorare un messaggio di ERRORE relativo allo STORAGE DEL TUO DATABASE? Quando la correzione richiede circa 10 secondi di inattività?
Womble

6
No, in realtà non era uno scherzo, era una vera domanda. Il server andrà in crash? I dati andranno persi? Le prestazioni saranno ridotte? Tutti i precedenti?
Matt Healy,

1
womble, ottima risposta! Ho già risolto il problema, ma sono curioso di sapere quali conseguenze ha avuto l'errore quando la configurazione era errata. Il fatto è che ho visto alcuni rallentamenti intermittenti e sono curioso di sapere se ciò fosse legato a questo errore o se fosse qualcosa di diverso. Grazie!
Knorv,

4
Sì, il server database si bloccherà effettivamente per eventuali aggiornamenti alle tabelle InnoDB quando il registro si riempie. Può paralizzare un sito.
Womble
Utilizzando il nostro sito, riconosci di aver letto e compreso le nostre Informativa sui cookie e Informativa sulla privacy.
Licensed under cc by-sa 3.0 with attribution required.