MySQL : InnoDB : 오류 : 마지막 체크 포인트의 수명이 X인데, 로그 그룹 용량 Y를 초과합니까?


10

프로덕션 MySQL 환경에서는 다음과 같은 오류 메시지가 /var/log/mysql/error.log4 분마다 작성됩니다 .

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.

오류 메시지를 구문 분석하는 방법을 잘 모르겠습니다.

더 구체적으로 나는 체크 포인트의 연령이 "로그 그룹 용량"과 어떻게 관련되는지, 그리고 그것이 큰 BLOB/ TEXT열을 가진 행의 크기와 어떻게 관련되는지 이해하지 못합니다 .

기본적 으로이 문제를 해결하고 해결하는 방법에 대해 잃어 버렸습니다. 내 질문은 :

  • 오류 메시지는 무엇을 의미합니까?
  • 내가 무엇을 잘못하고 있지?
  • 어떻게 고칠 수 있습니까?

답변:


11

오류 메시지는 너무 많은 데이터를 InnoDB에 너무 빨리 삽입하려고하는데 데이터가 주 데이터 파일로 플러시되기 전에 InnoDB 로그가 채워지고 있음을 의미합니다.

이를 해결하려면 MySQL을 완전히 중지 (매우 중요)하고 기존 InnoDB 로그 파일 ( lb_logfile*이동하지 않은 경우 MySQL 데이터 디렉토리에 있음)을 삭제 한 다음 innodb_log_file_size필요에 맞게 파일 을 조정 한 다음 MySQL을 다시 시작해야합니다. . MySQL 성능 블로그의이 기사가 도움 이 될 수 있습니다.


1
오류 메시지를 무시하면 어떤 결과가 발생합니까?
매트 힐리

1
농담하는 거지? 데이터베이스 저장과 관련된 오류 메시지를 무시하고 싶습니까? 수정 시간이 약 10 초의 중지 시간이 걸리는 경우
울리다

6
아니, 그것은 실제로 농담이 아니었다, 그것은 진짜 질문이었다. 서버가 충돌합니까? 데이터가 손실됩니까? 성능이 저하됩니까? 무엇보다도?
매트 힐리

1
울퉁불퉁, 좋은 대답! 이미 문제를 해결했지만 구성이 잘못되었을 때 오류로 인해 어떤 결과가 발생했는지 궁금합니다. 문제는 간헐적으로 속도가 느려지고이 오류와 관련이 있거나 다른 것이 있는지 궁금합니다. 감사!
knorv

4
예, 로그가 가득 차면 데이터베이스 서버는 InnoDB 테이블에 대한 업데이트를 효과적으로 중단합니다. 사이트를 손상시킬 수 있습니다.
womble
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.