티스토리 뷰
문제해결을 위한 몸부림
[mysql 에러] THE TOTAL NUMBER OF LOCKS EXCEEDS THE LOCK TABLE SIZE
sonna 2019. 3. 15. 10:40반응형
*참고사이트
http://mysqldba.tistory.com/71
http://phpbugs.wordpress.com/2012/06/04/the-total-number-of-locks-exceeds-the-lock-table-size http://stackoverflow.com/questions/6901108/the-total-number-of-locks-exceeds-the-lock-table-size
위 사이트들을 살펴보고 공통적으로 알아낸 것은 'innodb_buffer_pool_size'라는 mysql 변수의 값을 초과해서 발생한 에러라는 점이다. 배치를 돌릴 때 자주 발생한다는데 정말로 스케쥴러에서 이 에러가 발생했다 ㅠㅠ
해결책은 mysql의 설정파일인 my.cnf에서 innodb_buffer_pool_size 값을 늘려주는 것이다.
innodb_buffer_pool_size의 기본값이 8,388,608이라는데 이것은 byte 값이다.
innodb_buffer_pool_size=64MB 이런식으로 변경해 주면 된다고 한다.
그리고 설정파일을 변경했기 때문에 mysql 서버를 재시작해 주어야 적용이 된다.
*mysql 서버 재시작은 두 가지 방법이 있다고 한다.
- 서비스 mysqld 재시작하거나
- /etc/init.d/mysqld 재시작하거나
*설정을 변경하고 변수에 대한 상태를 점검하고 싶을 때 참고할만한 곳 : https://pat.im/1033
반응형