프로덕션 MySQL 환경에서는 다음과 같은 오류 메시지가 /var/log/mysql/error.log
4 분마다 작성됩니다 .
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
열을 가진 행의 크기와 어떻게 관련되는지 이해하지 못합니다 .
기본적 으로이 문제를 해결하고 해결하는 방법에 대해 잃어 버렸습니다. 내 질문은 :
- 오류 메시지는 무엇을 의미합니까?
- 내가 무엇을 잘못하고 있지?
- 어떻게 고칠 수 있습니까?
답변
오류 메시지는 너무 많은 데이터를 InnoDB에 너무 빨리 삽입하려고하는데 데이터가 주 데이터 파일로 플러시되기 전에 InnoDB 로그가 채워지고 있음을 의미합니다.
이를 해결하려면 MySQL을 완전히 중지 (매우 중요)하고 기존 InnoDB 로그 파일 ( lb_logfile*
이동하지 않은 경우 MySQL 데이터 디렉토리에 있음)을 삭제 한 다음 innodb_log_file_size
필요에 맞게 파일 을 조정 한 다음 MySQL을 다시 시작해야합니다. . MySQL 성능 블로그의이 기사가 도움 이 될 수 있습니다.